XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_hal_gpio.h
浏览该文件的文档.
1
12#ifndef __XF_HAL_GPIO_H__
13#define __XF_HAL_GPIO_H__
14
15/* ==================== [Includes] ========================================== */
16
18
28#ifdef __cplusplus
29extern "C" {
30#endif
31
32/* ==================== [Defines] =========================================== */
33
37#define XF_HAL_GPIO_NUM_NONE ((xf_gpio_num_t)-1)
38
39/* ==================== [Typedefs] ========================================== */
40
44typedef uint32_t xf_gpio_num_t;
45
46#if XF_HAL_GPIO_IS_ENABLE
47
57typedef void (*xf_hal_gpio_irq_cb_t)(xf_gpio_num_t gpio_num, bool level, void *user_data);
58
72
85
98
106
125
140
141/* ==================== [Global Prototypes] ================================= */
142
153
164
176
188
201xf_err_t xf_hal_gpio_set_speed(xf_gpio_num_t gpio_num, uint32_t speed);
202
217xf_err_t xf_hal_gpio_set_intr_cb(xf_gpio_num_t gpio_num, xf_hal_gpio_irq_cb_t callback, void *user_data);
218
233xf_err_t xf_hal_gpio_set_intr_isr(xf_gpio_num_t gpio_num, xf_hal_gpio_irq_cb_t callback, void *user_data);
234
246
257
268
279xf_err_t xf_hal_gpio_set_level(xf_gpio_num_t gpio_num, bool level);
280
289
290/* ==================== [Macros] ============================================ */
291
292#endif // XF_HAL_GPIO_IS_ENABLE
293
294#ifdef __cplusplus
295} /* extern "C" */
296#endif
297
303#endif // __XF_HAL_GPIO_H__
xf_err_t xf_hal_gpio_set_pull(xf_gpio_num_t gpio_num, xf_hal_gpio_pull_t pull)
gpio 设置上下拉模式。
bool xf_hal_gpio_get_level(xf_gpio_num_t gpio_num)
获取 gpio 电平高低。
xf_err_t xf_hal_gpio_set_level(xf_gpio_num_t gpio_num, bool level)
设置 gpio 设置电平高低。
_xf_hal_gpio_dir_t
gpio 的方向。
Definition xf_hal_gpio.h:76
enum _xf_hal_gpio_intr_type_t xf_hal_gpio_intr_type_t
gpio 的中断类型。
_xf_hal_gpio_pull_t
gpio 的上下拉。
Definition xf_hal_gpio.h:89
struct _xf_hal_gpio_config_t xf_hal_gpio_config_t
gpio 配置结构体。用于对接 gpio 设置的参数。
xf_err_t xf_hal_gpio_set_intr_disable(xf_gpio_num_t gpio_num)
设置 gpio 禁用中断。
enum _xf_hal_gpio_cmd_t xf_hal_gpio_cmd_t
gpio 命令枚举。用于对接 gpio 设置的命令。
xf_err_t xf_hal_gpio_set_intr_type(xf_gpio_num_t gpio_num, xf_hal_gpio_intr_type_t intr_type)
设置 gpio 中断类型。
_xf_hal_gpio_intr_type_t
gpio 的中断类型。
Definition xf_hal_gpio.h:62
xf_err_t xf_hal_gpio_set_intr_isr(xf_gpio_num_t gpio_num, xf_hal_gpio_irq_cb_t callback, void *user_data)
gpio 设置中断服务。
_xf_hal_gpio_cmd_t
gpio 命令枚举。用于对接 gpio 设置的命令。
enum _xf_hal_gpio_pull_t xf_hal_gpio_pull_t
gpio 的上下拉。
enum _xf_hal_gpio_dir_t xf_hal_gpio_dir_t
gpio 的方向。
xf_err_t xf_hal_gpio_set_direction(xf_gpio_num_t gpio_num, xf_hal_gpio_dir_t direction)
gpio 设置方向。
Definition xf_hal_gpio.c:90
xf_err_t xf_hal_gpio_deinit(xf_gpio_num_t gpio_num)
gpio 反初始化。恢复到未初始化状态且回收相关资源。
Definition xf_hal_gpio.c:76
uint32_t xf_gpio_num_t
gpio 序号。
Definition xf_hal_gpio.h:44
xf_err_t xf_hal_gpio_set_intr_enable(xf_gpio_num_t gpio_num)
设置 gpio 启用中断。
struct _xf_hal_gpio_irq_t xf_hal_gpio_callback_t
中断回调结构体。
xf_err_t xf_hal_gpio_set_speed(xf_gpio_num_t gpio_num, uint32_t speed)
gpio 速度设置。
xf_err_t xf_hal_gpio_set_intr_cb(xf_gpio_num_t gpio_num, xf_hal_gpio_irq_cb_t callback, void *user_data)
gpio 设置中断回调。
xf_err_t xf_hal_gpio_init(xf_gpio_num_t gpio_num, xf_hal_gpio_dir_t direction)
gpio 初始化函数。使用 gpio 之前必须要进行初始化。
Definition xf_hal_gpio.c:50
void(* xf_hal_gpio_irq_cb_t)(xf_gpio_num_t gpio_num, bool level, void *user_data)
gpio 中断回调函数原型。
Definition xf_hal_gpio.h:57
@ XF_HAL_GPIO_DIR_IN
Definition xf_hal_gpio.h:79
@ XF_HAL_GPIO_DIR_OUT
Definition xf_hal_gpio.h:80
@ _XF_HAL_GPIO_DIR_MAX
Definition xf_hal_gpio.h:83
@ _XF_HAL_GPIO_DIR_BASE
Definition xf_hal_gpio.h:77
@ XF_HAL_GPIO_DIR_OUT_OD
Definition xf_hal_gpio.h:81
@ XF_HAL_GPIO_PULL_DOWN
Definition xf_hal_gpio.h:94
@ XF_HAL_GPIO_PULL_UP
Definition xf_hal_gpio.h:93
@ XF_HAL_GPIO_PULL_NONE
Definition xf_hal_gpio.h:92
@ _XF_HAL_GPIO_PULL_BASE
Definition xf_hal_gpio.h:90
@ _XF_HAL_GPIO_PULL_MAX
Definition xf_hal_gpio.h:96
@ XF_HAL_GPIO_INTR_TYPE_RISING
Definition xf_hal_gpio.h:66
@ XF_HAL_GPIO_INTR_TYPE_DISABLE
Definition xf_hal_gpio.h:65
@ XF_HAL_GPIO_INTR_TYPE_ANY
Definition xf_hal_gpio.h:68
@ _XF_HAL_GPIO_INTR_BASE
Definition xf_hal_gpio.h:63
@ XF_HAL_GPIO_INTR_TYPE_FALLING
Definition xf_hal_gpio.h:67
@ _XF_HAL_GPIO_INTR_TYPE_MAX
Definition xf_hal_gpio.h:70
@ XF_HAL_GPIO_CMD_DEFAULT
@ XF_HAL_GPIO_CMD_PULL
@ XF_HAL_GPIO_CMD_INTR_ENABLE
@ XF_HAL_GPIO_CMD_INTR_ISR
@ XF_HAL_GPIO_CMD_SPEED
@ XF_HAL_GPIO_CMD_DIRECTION
@ XF_HAL_GPIO_CMD_ALL
@ XF_HAL_GPIO_CMD_INTR_CB
@ XF_HAL_GPIO_CMD_INTR_TYPE
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
Definition xf_err.h:69
gpio 配置结构体。用于对接 gpio 设置的参数。
xf_hal_gpio_callback_t isr
xf_hal_gpio_callback_t cb
中断回调结构体。
xf_hal_gpio_irq_cb_t callback
xf_hal 设备配置(仅 xf_hal device 内部使用)。