63 lines
2.3 KiB
C
63 lines
2.3 KiB
C
/****************************************************************************
|
|
|
|
Copyright(c) 2019 by Aerospace C.Power (Chongqing) Microelectronics. ALL RIGHTS RESERVED.
|
|
|
|
This Information is proprietary to Aerospace C.Power (Chongqing) Microelectronics and MAY NOT
|
|
be copied by any method or incorporated into another program without
|
|
the express written consent of Aerospace C.Power. This Information or any portion
|
|
thereof remains the property of Aerospace C.Power. The Information contained herein
|
|
is believed to be accurate and Aerospace C.Power assumes no responsibility or
|
|
liability for its use in any way and conveys no license or title under
|
|
any patent or copyright and makes no representation or warranty that this
|
|
Information is free from patent or copyright infringement.
|
|
|
|
****************************************************************************/
|
|
/*
|
|
* Notice :
|
|
* This iot_xxx.h file, belongs to HAL level. iot_xxx_api.h is a part of this.
|
|
* The bellows are ready for HW & HAL/CVG/MAC level, limited for APP level.
|
|
*/
|
|
#ifndef __IOT_GPIO_H__
|
|
#define __IOT_GPIO_H__
|
|
|
|
#include "iot_gpio_api.h"
|
|
|
|
enum gpio_int_isr_mode
|
|
{
|
|
/* ISR runs in interrupt enviroment */
|
|
GPIO_INT_ISR,
|
|
/* ISR runs in task enviroment */
|
|
GPIO_INT_ISR_TASK,
|
|
/* ISR runs in interrupt enviroment and interrupt disabled before ISR. */
|
|
GPIO_INT_ISR_AUTO_STOP,
|
|
/* ISR runs in task enviroment and interrupt disabled before ISR. */
|
|
GPIO_INT_ISR_TASK_AUTO_STOP,
|
|
/* Invalid value */
|
|
GPIO_INT_ISR_INVALID
|
|
};
|
|
|
|
/*
|
|
* @brief iot_gpio_get_inner_gpio_num() - Get count of GPIOs on chip.
|
|
* @return : The count of GPIOs.
|
|
*/
|
|
int iot_gpio_get_inner_gpio_num(void);
|
|
|
|
/**
|
|
* @brief iot_gpio_interrupt_config_detail() - This function should be called
|
|
* after iot_gpio_open_as_interrupt() to configure an interrupt.
|
|
* @param gpio: GPIO-NO that starts from 'Zero'.
|
|
* @param mode: Interrupt trigger mode.@see enum int_trigger_mode.
|
|
* @param isr: Interrupt call-back function. It's a function pionter
|
|
* like int (*isr)(int).
|
|
* @param arg: Argument for isr.
|
|
* @param isr_mode: Interrupt mode when interrupt occurs.
|
|
* See enum gpio_int_isr_mode.
|
|
* @return ERR_FAIL -- Operation failed.
|
|
* @return ERR_OK -- Operation Successful.
|
|
*/
|
|
int iot_gpio_interrupt_config_detail(int gpio,
|
|
enum gpio_int_trigger_mode mode,
|
|
iot_gpio_isr_func isr, int arg, int isr_mode);
|
|
|
|
#endif
|