XFusion API v1.3.0
载入中...
搜索中...
未找到
xf_main.c
浏览该文件的文档.
1
17/* ==================== [Includes] ========================================== */
18
19#include "xf_hal.h"
20#include "xf_task.h"
21
22/* ==================== [Defines] =========================================== */
23
24#define OUTPUT_IO 5
25#define INTERRUPT_INPUT_IO 0
26#define INPUT_IO_MODE XF_HAL_GPIO_PULL_UP
27#define INPUT_IO_TRIGGER_TYPE XF_HAL_GPIO_INTR_TYPE_ANY
28
29#define TASK_PRIORITY 5
30#define TASK_DELAY_MS 500
31
32#define TAG "intrrupt"
33
34/* ==================== [Typedefs] ========================================== */
35
36/* ==================== [Static Prototypes] ================================= */
37
38static void xf_hal_gpio_irq_cb(xf_gpio_num_t gpio_num, bool level, void *user_data);
39static void gpio_task(xf_task_t task);
40
41/* ==================== [Static Variables] ================================== */
42
43/* ==================== [Macros] ============================================ */
44
45/* ==================== [Global Functions] ================================== */
46
60
61/* ==================== [Static Functions] ================================== */
62
63static void xf_hal_gpio_irq_cb(xf_gpio_num_t gpio_num, bool level, void *user_data)
64{
65 XF_LOGI(TAG, "gpio:%d", level);
66}
67
69{
70 static bool level = 0;
71 level = !level;
73}
void xf_main(void)
Definition xf_main.c:28
xf_err_t xf_hal_gpio_set_pull(xf_gpio_num_t gpio_num, xf_hal_gpio_pull_t pull)
gpio 设置上下拉模式。
xf_err_t xf_hal_gpio_set_level(xf_gpio_num_t gpio_num, bool level)
设置 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 中断类型。
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 启用中断。
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
@ XF_HAL_GPIO_DIR_IN
Definition xf_hal_gpio.h:79
@ XF_HAL_GPIO_DIR_OUT
Definition xf_hal_gpio.h:80
static xf_task_t xf_ttask_create_loop(xf_task_func_t func, void *func_arg, uint16_t priority, uint32_t delay_ms)
在默认的任务管理下,创建 ttask 循环任务。
Definition xf_task.h:162
#define TAG
Definition xf_main.c:24
#define TASK_DELAY_MS
Definition xf_main.c:27
#define TASK_PRIORITY
Definition xf_main.c:26
#define INPUT_IO_MODE
Definition xf_main.c:29
#define OUTPUT_IO
Definition xf_main.c:27
static void gpio_task(xf_task_t task)
Definition xf_main.c:58
#define INTERRUPT_INPUT_IO
Definition xf_main.c:25
#define INPUT_IO_TRIGGER_TYPE
Definition xf_main.c:27
static void xf_hal_gpio_irq_cb(xf_gpio_num_t gpio_num, bool level, void *user_data)
Definition xf_main.c:63
static void task(xf_task_t task)
Definition xf_main.c:45
#define XF_LOGI(tag, format,...)
void * xf_task_t
任务句柄。