xt-sdk 文档
v1.0.3
xt-sdk 嵌入式 SDK API 参考
Toggle main menu visibility
载入中...
搜索中...
未找到
xt_hal_gpio.h
浏览该文件的文档.
1
12
13
#ifndef __XT_HAL_GPIO_H__
14
#define __XT_HAL_GPIO_H__
15
16
/* ==================== [Includes] ========================================== */
17
18
#include "
xt_hal_internal.h
"
19
20
#ifdef __cplusplus
21
extern
"C"
{
22
#endif
23
30
31
/* ==================== [Defines] =========================================== */
32
33
#define XT_HAL_GPIO_INVALID_ID (0xFF)
34
35
/* ==================== [Typedefs] ========================================== */
36
40
enum
xt_hal_gpio_event_id
{
41
XT_HAL_GPIO_EVENT_INT
= 0x00,
42
XT_HAL_GPIO_EVENT_WAKEUP
,
43
};
44
51
typedef
void (*
xt_hal_gpio_cb_t
)(uint8_t io, uint32_t event_id);
52
53
/* ==================== [Global Prototypes] ================================= */
54
55
/*
56
B0: input/output: 0: input, 1: output
57
B1: pullup
58
B2: pulldown
59
B3: output open-drain: 0: push-pull, 1: open-drain; only for output
60
B4: rising edge interrupt: 0: disable, 1: enable; only for input
61
B5: falling edge interrupt: 0: disable, 1: enable; only for input
62
B6: wakeup: 0: disable, 1: enable; only for input
63
B7: high level interrupt: 0: disable, 1: enable; only for input
64
B8: low level interrupt: 0: disable, 1: enable; only for input
65
*/
66
#define XT_HAL_GPIO_INPUT 0x00
67
#define XT_HAL_GPIO_OUTPUT 0x01
68
#define XT_HAL_GPIO_PULLUP 0x02
69
#define XT_HAL_GPIO_PULLDOWN 0x04
70
#define XT_HAL_GPIO_OD 0x08
71
#define XT_HAL_GPIO_RISING_EDGE 0x10
72
#define XT_HAL_GPIO_FALLING_EDGE 0x20
73
#define XT_HAL_GPIO_BOTH_EDGE (XT_HAL_GPIO_RISING_EDGE | XT_HAL_GPIO_FALLING_EDGE)
74
#define XT_HAL_GPIO_WAKEUP 0x40
75
#define XT_HAL_GPIO_HIGH_LEVEL 0x80
76
#define XT_HAL_GPIO_LOW_LEVEL 0x0100
77
#define XT_HAL_GPIO_BOTH_LEVEL (XT_HAL_GPIO_HIGH_LEVEL | XT_HAL_GPIO_LOW_LEVEL)
78
87
xt_err_t
xt_hal_gpio_setup
(uint8_t io, uint32_t mode,
xt_hal_gpio_cb_t
cb);
88
95
xt_err_t
xt_hal_gpio_close
(uint8_t io);
96
97
// TODO
98
// void xt_hal_gpio_debounce(uint8_t io, uint8_t debounce_ms);
99
106
void
xt_hal_gpio_set_level
(uint8_t io, uint8_t level);
107
114
uint8_t
xt_hal_gpio_get_level
(uint8_t io);
115
116
/* ==================== [Macros] ============================================ */
117
/* xt_hal_gpio */
119
120
#ifdef __cplusplus
121
}
/* extern "C" */
122
#endif
123
124
#endif
/* __XT_HAL_GPIO_H__ */
xt_err_t
int32_t xt_err_t
错误码类型
定义
xt_error.h:38
xt_hal_gpio_set_level
void xt_hal_gpio_set_level(uint8_t io, uint8_t level)
设置 GPIO 输出电平
xt_hal_gpio_get_level
uint8_t xt_hal_gpio_get_level(uint8_t io)
获取 GPIO 当前电平
xt_hal_gpio_event_id
xt_hal_gpio_event_id
GPIO 事件 ID 枚举
定义
xt_hal_gpio.h:40
xt_hal_gpio_cb_t
void(* xt_hal_gpio_cb_t)(uint8_t io, uint32_t event_id)
GPIO 回调函数类型定义
定义
xt_hal_gpio.h:51
xt_hal_gpio_close
xt_err_t xt_hal_gpio_close(uint8_t io)
关闭 GPIO
xt_hal_gpio_setup
xt_err_t xt_hal_gpio_setup(uint8_t io, uint32_t mode, xt_hal_gpio_cb_t cb)
初始化 GPIO
XT_HAL_GPIO_EVENT_INT
@ XT_HAL_GPIO_EVENT_INT
定义
xt_hal_gpio.h:41
XT_HAL_GPIO_EVENT_WAKEUP
@ XT_HAL_GPIO_EVENT_WAKEUP
定义
xt_hal_gpio.h:42
xt_hal_internal.h
XTINY HAL 内部公共头文件
platforms
components
xtiny
xt_hal
xt_hal_gpio.h
生成于
, 为 xt-sdk 文档使用
1.17.0