GPIO
函数列表
简要说明
GPIO(General Purpose Input Output)通用输入/输出接口提供了对每个信号管脚进行单独的高低电平状态控制功能,或者读入管脚高低电平状态的功能。
GPIO可配置为输入模式或输出模式。当配置为输出模式时,由软件来控制管脚的的高低电平状态。输出模式可支持开漏输出或推挽输出两种类型。当配置为输入模式时,管脚的高低电平状态由外部电路控制,软件可以读取管脚的高低电平状态。输入模式可支持带上拉电阻、下拉电阻的属性。
输入模式也支持将GPIO配置为中断触发源。中断触发模式一般包括高电平触发、低电平触发、双边沿触发、下降沿触发、上升沿触发五种模式。
接口描述
csi_gpio_pin_initialize
gpio_pin_handle_t csi_gpio_pin_initialize(int32_t gpio_pin, gpio_event_cb_t cb_event)
功能描述:
- 通过传入的pin号初始化对应的gpio pin实例,返回gpio pin实例的句柄。
参数:
gpio_pin
: pin号。cb_event
: 对应pin中断回调函数。
返回值:
- NULL: 初始化失败。
- 其它: 实例句柄。
csi_gpio_pin_uninitialize
int32_t csi_gpio_pin_uninitialize(gpio_pin_handle_t handle)
功能描述:
- gpio
- pin实例反初始化。该接口会停止gpio实例正在进行的传输(如果有),并且释放相关的软硬件资源。
参数:
handle
: 实例句柄。
返回值:
- 错误码。
csi_gpio_power_control
int32_t csi_gpio_power_control(gpio_pin_handle_t handle, csi_power_stat_e state)
功能描述:
- 配置设备实例的功耗模式。
参数:
handle
: 实例句柄。state
: 设备实例的功耗模式,参看csi_power_stat_e 的定义。
返回值:
- 错误码。
csi_power_stat_e:
名字 | 定义 | 备注 |
---|---|---|
DRV_POWER_OFF | 关电源状态 | |
DRV_POWER_LOW | 低电平状态 | |
DRV_POWER_FULL | 全电源状态 | |
DRV_POWER_SUSPEND | 挂起电源状态 |
csi_gpio_pin_config_mode
int32_t csi_gpio_pin_config_mode(gpio_pin_handle_t handle, gpio_mode_e mode)
功能描述:
- 配置gpio pin实例的工作模式。
参数:
handle
: 实例句柄。mode
: gpio的工作方式,参看 gpio_mode_e 定义。
返回值:
- 错误码。
gpio_mode_e:
名字 | 定义 | 备注 |
---|---|---|
GPIO_MODE_PULLNONE | 不操作 | |
GPIO_MODE_PULLUP | 上拉操作 | |
GPIO_MODE_PULLDOWN | 下拉操作 | |
GPIO_MODE_OPEN_DRAIN | 开漏操作 | |
GPIO_MODE_PUSH_PULL | 推挽操作 |
csi_gpio_pin_config_direction
int32_t csi_gpio_pin_config_direction(gpio_pin_handle_t handle, gpio_direction_e dir);
功能描述:
参数:
handle
: 实例句柄。dir
: gpio port口的方向,参看gpio_direction_e的定义。
返回值:
- 错误码。
gpio_direction_e:
名字 | 定义 | 备注 |
---|---|---|
GPIO_DIRECTION_INPUT | 输入模式 | |
GPIO_DIRECTION_OUTPUT |
csi_gpio_pin_write
int32_t csi_gpio_pin_write(gpio_pin_handle_t handle, bool value)
功能描述:
- 设置gpio pin的电平状态。
参数:
handle
: 实例句柄。value
: 对应pin口中的值。
返回值:
- 错误码。
csi_gpio_pin_read
int32_t csi_gpio_pin_read(gpio_pin_handle_t handle, bool *value)
功能描述:
- 获取pin脚的电平状态。
参数:
handle
: 实例句柄。value
: 存放pin脚的电平状态的缓冲区地址。
返回值:
- 错误码。
csi_gpio_pin_set_irq
int32_t csi_gpio_pin_set_irq(gpio_pin_handle_t handle, gpio_irq_mode_e mode, bool enable)
功能描述:
- 设置pin脚的中断模式。
参数:
handle
: 实例句柄。mode
: 中断模式,参见 :gpio_irq_mode_e定义。enable
: 设置中断是否开启,0-禁止,1-使能。
返回值:
- 错误码。
gpio_irq_mode_e:
名字 | 定义 | 备注 |
---|---|---|
GPIO_IRQ_MODE_RISING_EDGE | 上升沿中断模式 | |
GPIO_IRQ_MODE_FALLING_EDGE | 下降沿中断模式 | |
GPIO_IRQ_MODE_DOUBLE_EDGE | 双边沿中断模式 | |
GPIO_IRQ_MODE_LOW_LEVEL | 低电平中断模式 | |
GPIO_IRQ_MODE_HIGH_LEVEL | 高电平中断模式 |