EXPEED_OS  1.1.2
hal_gpio.h
浏览该文件的文档.
1 
13 #ifndef HAL_GPIO_H
14 #define HAL_GPIO_H
15 
16 #ifdef __cplusplus
17 extern "C" {
18 #endif
19 
20 #include "stdint.h"
21 
25 typedef enum {
35 
39 typedef enum {
47 
51 typedef enum {
52  GPIO_LOW = 0,
55 
59 typedef struct {
63 
67 typedef struct {
68  uint8_t port;
72 
73 
77 typedef void (*hal_gpio_irq_handler_t)(void *arg);
78 
79 
87 int32_t hal_gpio_init(hal_gpio_dev_t *gpio);
88 
96 int32_t hal_gpio_deinit(hal_gpio_dev_t *gpio);
97 
106 int32_t hal_gpio_write(hal_gpio_dev_t *gpio, hal_gpio_state_t state);
107 
115 int32_t hal_gpio_write_high(hal_gpio_dev_t *gpio);
116 
124 int32_t hal_gpio_write_low(hal_gpio_dev_t *gpio);
125 
133 int32_t hal_gpio_toggle(hal_gpio_dev_t *gpio);
134 
143 int32_t hal_gpio_read(hal_gpio_dev_t *gpio, uint32_t *value);
144 
156  hal_gpio_irq_handler_t handler, void *arg);
157 
165 int32_t hal_gpio_disable_irq(hal_gpio_dev_t *gpio);
166 
174 int32_t hal_gpio_clear_irq(hal_gpio_dev_t *gpio);
175 
176 
177 #ifdef __cplusplus
178 }
179 #endif
180 
181 #endif
182 
hal_gpio_intr_type_t
hal_gpio_intr_type_t
Definition: hal_gpio.h:39
hal_gpio_write
int32_t hal_gpio_write(hal_gpio_dev_t *gpio, hal_gpio_state_t state)
GPIO输出电平设置
GPIO_INT_FAL_EDGE
Definition: hal_gpio.h:42
hal_gpio_dev_t::state
hal_gpio_state_t state
Definition: hal_gpio.h:69
hal_gpio_config_t
Definition: hal_gpio.h:59
INPUT_PULL_UP
Definition: hal_gpio.h:27
GPIO_INT_DISABLE
Definition: hal_gpio.h:40
hal_gpio_toggle
int32_t hal_gpio_toggle(hal_gpio_dev_t *gpio)
GPIO输出电平翻转
OUTPUT_OD_PULL_UP
Definition: hal_gpio.h:32
INPUT_HIGH_IMPEDANCE
Definition: hal_gpio.h:29
GPIO_LOW
Definition: hal_gpio.h:52
INPUT_OUTPUT
Definition: hal_gpio.h:26
GPIO_INT_HIGH_LEVEL
Definition: hal_gpio.h:45
hal_gpio_disable_irq
int32_t hal_gpio_disable_irq(hal_gpio_dev_t *gpio)
GPIO关闭中断
INPUT_PULL_DOWN
Definition: hal_gpio.h:28
hal_gpio_read
int32_t hal_gpio_read(hal_gpio_dev_t *gpio, uint32_t *value)
GPIO读取当前电平状态
GPIO_INT_RIS_EDGE
Definition: hal_gpio.h:41
OUTPUT_OD
Definition: hal_gpio.h:31
hal_gpio_dev_t
Definition: hal_gpio.h:67
hal_gpio_write_low
int32_t hal_gpio_write_low(hal_gpio_dev_t *gpio)
GPIO输出低电平
hal_gpio_state_t
hal_gpio_state_t
Definition: hal_gpio.h:51
hal_gpio_enable_irq
int32_t hal_gpio_enable_irq(hal_gpio_dev_t *gpio, hal_gpio_intr_type_t trigger, hal_gpio_irq_handler_t handler, void *arg)
GPIO中断使能
hal_gpio_init
int32_t hal_gpio_init(hal_gpio_dev_t *gpio)
GPIO初始化
hal_gpio_clear_irq
int32_t hal_gpio_clear_irq(hal_gpio_dev_t *gpio)
清除GPIO中断
hal_gpio_dev_t::config
hal_gpio_config_t config
Definition: hal_gpio.h:70
ANALOG
Definition: hal_gpio.h:33
hal_gpio_irq_handler_t
void(* hal_gpio_irq_handler_t)(void *arg)
Definition: hal_gpio.h:77
hal_gpio_config_t::intr
hal_gpio_intr_type_t intr
Definition: hal_gpio.h:61
OUTPUT_PP
Definition: hal_gpio.h:30
GPIO_INT_LOW_LEVEL
Definition: hal_gpio.h:44
hal_gpio_dev_t::port
uint8_t port
Definition: hal_gpio.h:68
GPIO_INT_BOTH_EDGE
Definition: hal_gpio.h:43
hal_gpio_write_high
int32_t hal_gpio_write_high(hal_gpio_dev_t *gpio)
GPIO输出高电平
GPIO_HIGH
Definition: hal_gpio.h:53
hal_gpio_deinit
int32_t hal_gpio_deinit(hal_gpio_dev_t *gpio)
GPIO反初始化
hal_gpio_mode_t
hal_gpio_mode_t
Definition: hal_gpio.h:25
hal_gpio_config_t::mode
hal_gpio_mode_t mode
Definition: hal_gpio.h:60