16#if XF_HAL_GPIO_IS_ENABLE
18#include "../kernel/xf_hal_dev.h"
23#define XF_HAL_GPIO_TYPE XF_HAL_GPIO
40#define XF_HAL_GPIO_CHECK(condition, retval, format, ...) \
41 XF_CHECK(condition, retval, TAG, format, ##__VA_ARGS__)
60#if XF_HAL_LOCK_IS_ENABLE
66#if XF_HAL_LOCK_IS_ENABLE
99#if XF_HAL_LOCK_IS_ENABLE
105#if XF_HAL_LOCK_IS_ENABLE
124#if XF_HAL_LOCK_IS_ENABLE
130#if XF_HAL_LOCK_IS_ENABLE
149#if XF_HAL_LOCK_IS_ENABLE
155#if XF_HAL_LOCK_IS_ENABLE
174#if XF_HAL_LOCK_IS_ENABLE
181#if XF_HAL_LOCK_IS_ENABLE
200#if XF_HAL_LOCK_IS_ENABLE
207#if XF_HAL_LOCK_IS_ENABLE
226#if XF_HAL_LOCK_IS_ENABLE
232#if XF_HAL_LOCK_IS_ENABLE
251#if XF_HAL_LOCK_IS_ENABLE
257#if XF_HAL_LOCK_IS_ENABLE
276#if XF_HAL_LOCK_IS_ENABLE
282#if XF_HAL_LOCK_IS_ENABLE
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 设置电平高低。
enum _xf_hal_gpio_intr_type_t xf_hal_gpio_intr_type_t
gpio 的中断类型。
xf_err_t xf_hal_gpio_set_intr_disable(xf_gpio_num_t gpio_num)
设置 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_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 设置中断服务。
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 设置方向。
xf_err_t xf_hal_gpio_deinit(xf_gpio_num_t gpio_num)
gpio 反初始化。恢复到未初始化状态且回收相关资源。
uint32_t xf_gpio_num_t
gpio 序号。
xf_err_t xf_hal_gpio_set_intr_enable(xf_gpio_num_t gpio_num)
设置 gpio 启用中断。
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 之前必须要进行初始化。
void(* xf_hal_gpio_irq_cb_t)(xf_gpio_num_t gpio_num, bool level, void *user_data)
gpio 中断回调函数原型。
@ XF_HAL_GPIO_CMD_INTR_ENABLE
@ XF_HAL_GPIO_CMD_INTR_ISR
@ XF_HAL_GPIO_CMD_DIRECTION
@ XF_HAL_GPIO_CMD_INTR_CB
@ XF_HAL_GPIO_CMD_INTR_TYPE
#define XF_ASSERT(condition, retval, tag, format,...)
xfusion 断言宏(条件 不成立 时则输出日志后返回)。
int32_t xf_err_t
整形错误类型。 错误码具体值见 xf_err_code_t.
int xf_lock_unlock(xf_lock_t lock)
解锁.
int xf_lock_lock(xf_lock_t lock)
锁定直至成功.
gpio 配置结构体。用于对接 gpio 设置的参数。
xf_hal_gpio_callback_t isr
xf_hal_gpio_callback_t cb
xf_hal_gpio_irq_cb_t callback
xf_hal_gpio_config_t config
xf_err_t xf_hal_driver_close(xf_hal_dev_t *dev)
int xf_hal_driver_read(xf_hal_dev_t *dev, void *buf, size_t count)
xf_err_t xf_hal_driver_ioctl(xf_hal_dev_t *dev, uint32_t cmd, void *config)
xf_err_t xf_hal_driver_open(xf_hal_dev_t *dev, xf_hal_type_t type, uint32_t id)
int xf_hal_driver_write(xf_hal_dev_t *dev, const void *buf, size_t count)
xf_hal_dev_t * xf_hal_device_find(xf_hal_type_t type, uint32_t id)
xf_err_t xf_hal_driver_register(xf_hal_type_t type, xf_hal_flag_t flag, xf_hal_dev_create_t constructor, const xf_driver_ops_t *driver_ops)
xf_hal_dev_t * xf_hal_driver_create(xf_hal_type_t type, uint32_t id)
xf_err_t xf_hal_gpio_register(const xf_driver_ops_t *driver_ops)
gpio 设备注册。
static xf_hal_dev_t * gpio_constructor(xf_gpio_num_t gpio_num)
struct _xf_hal_gpio_t xf_hal_gpio_t
#define XF_HAL_GPIO_CHECK(condition, retval, format,...)
xf_hal 的 gpio(通用输入输出) 设备抽象。
#define XF_LOGE(tag, format,...)