CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
ci130x_gpio.h
浏览该文件的文档.
1 
11 #ifndef _CI130X_GPIO_H
12 #define _CI130X_GPIO_H
13 
14 #include "ci130x_system.h"
15 #include "ci130x_scu.h"
16 
24 #ifdef __cplusplus
25 extern "C" {
26 #endif
27 
31 typedef enum
32 {
38 
42 typedef enum
43 {
44  pin_0 = (0x1 << 0),
45  pin_1 = (0x1 << 1),
46  pin_2 = (0x1 << 2),
47  pin_3 = (0x1 << 3),
48  pin_4 = (0x1 << 4),
49  pin_5 = (0x1 << 5),
50  pin_6 = (0x1 << 6),
51  pin_7 = (0x1 << 7),
52  pin_all = 0xFF,
53 }gpio_pin_t;
54 
58 typedef enum
59 {
66 
70 typedef struct
71 {
75 
76 typedef void(*gpio_irq_callback_t)(void);
77 
79 {
83 
84 /*-------------------以下API可同时操作一个或多个pin脚-------------------------*/
88 void gpio_irq_mask(gpio_base_t gpio,gpio_pin_t pins);
89 void gpio_irq_unmask(gpio_base_t gpio,gpio_pin_t pins);
94 
95 /*----------------------以下API一次只操作一个pin脚----------------------------*/
100 void gpio_set_output_level_single(gpio_base_t gpio,gpio_pin_t pins,uint8_t level);
102 
103 /*------------------------以下API为中断处理函数-------------------------------*/
104 void registe_gpio_callback(gpio_base_t base, gpio_irq_callback_list_t *gpio_irq_callback_node);
105 void PA_IRQHandler(void);
106 void PB_IRQHandler(void);
107 void AON_PC_IRQHandler(void);
108 
109 #ifdef __cplusplus
110 }
111 #endif
112 
117 #endif
uint8_t gpio_get_input_level_single(gpio_base_t gpio, gpio_pin_t pins)
获取某个管脚输入电平
Definition: ci130x_gpio.c:278
gpio_pin_t pin
Definition: ci130x_gpio.h:73
三代芯片scu底层驱动接口头文件
Definition: ci130x_gpio.h:60
void gpio_clear_irq_single(gpio_base_t gpio, gpio_pin_t pins)
清除某个管脚的中断
Definition: ci130x_gpio.c:251
#define HAL_PA_BASE
Definition: ci130x_system.h:503
void gpio_set_output_mode(gpio_base_t gpio, gpio_pin_t pins)
管脚配置为输出模式
Definition: ci130x_gpio.c:45
struct gpio_irq_callback_list_s gpio_irq_callback_list_t
Definition: ci130x_gpio.h:35
void gpio_set_output_low_level(gpio_base_t gpio, gpio_pin_t pins)
管脚输出低电平
Definition: ci130x_gpio.c:173
uint8_t gpio_get_irq_raw_status_single(gpio_base_t gpio, gpio_pin_t pins)
获取某个管脚中断屏蔽前状态
Definition: ci130x_gpio.c:221
Definition: ci130x_gpio.h:50
uint8_t gpio_get_irq_mask_status_single(gpio_base_t gpio, gpio_pin_t pins)
获取某个管脚中断屏蔽后状态
Definition: ci130x_gpio.c:237
Definition: ci130x_gpio.h:44
Definition: ci130x_gpio.h:64
void gpio_irq_trigger_config(gpio_base_t gpio, gpio_pin_t pins, gpio_trigger_t trigger)
设置管脚的中断触发方式
Definition: ci130x_gpio.c:111
uint8_t gpio_get_direction_status(gpio_base_t gpio, gpio_pin_t pins)
获取管脚输入输出状态
Definition: ci130x_gpio.c:71
Definition: ci130x_gpio.h:61
uint8_t gpio_get_input_level(gpio_base_t gpio, gpio_pin_t pins)
获取管脚输入电平
Definition: ci130x_gpio.c:187
void PA_IRQHandler(void)
PA中断处理函数
Definition: ci130x_gpio.c:373
Definition: ci130x_gpio.h:62
gpio_pin_t
GPIO pin脚定义
Definition: ci130x_gpio.h:42
GPIO信息
Definition: ci130x_gpio.h:70
#define HAL_PB_BASE
Definition: ci130x_system.h:504
Definition: ci130x_gpio.h:51
Definition: ci130x_gpio.h:36
#define HAL_PD_BASE
Definition: ci130x_system.h:511
Definition: ci130x_gpio.h:78
#define HAL_PC_BASE
Definition: ci130x_system.h:518
gpio_base_t
GPIO控制器定义
Definition: ci130x_gpio.h:31
void gpio_irq_mask(gpio_base_t gpio, gpio_pin_t pins)
屏蔽管脚中断
Definition: ci130x_gpio.c:85
void gpio_set_output_high_level(gpio_base_t gpio, gpio_pin_t pins)
管脚输出高电平
Definition: ci130x_gpio.c:161
Definition: ci130x_gpio.h:45
Definition: ci130x_gpio.h:49
Definition: ci130x_gpio.h:52
chip级定义
void gpio_set_input_mode(gpio_base_t gpio, gpio_pin_t pins)
管脚配置为输入模式
Definition: ci130x_gpio.c:57
gpio_irq_callback_t gpio_irq_callback
Definition: ci130x_gpio.h:80
void AON_PC_IRQHandler(void)
PC中断处理函数
Definition: ci130x_gpio.c:391
void(* gpio_irq_callback_t)(void)
Definition: ci130x_gpio.h:76
void registe_gpio_callback(gpio_base_t base, gpio_irq_callback_list_t *gpio_irq_callback_node)
注册中断回掉函数
Definition: ci130x_gpio.c:332
Definition: ci130x_gpio.h:63
void PB_IRQHandler(void)
PB中断处理函数
Definition: ci130x_gpio.c:382
Definition: ci130x_gpio.h:46
gpio_base_t base
Definition: ci130x_gpio.h:72
uint8_t gpio_get_direction_status_single(gpio_base_t gpio, gpio_pin_t pins)
获取某一个管脚输入输出状态
Definition: ci130x_gpio.c:205
Definition: ci130x_gpio.h:47
struct gpio_irq_callback_list_s * next
Definition: ci130x_gpio.h:81
gpio_trigger_t
GPIO中断触发模式定义
Definition: ci130x_gpio.h:58
Definition: ci130x_gpio.h:33
void gpio_irq_unmask(gpio_base_t gpio, gpio_pin_t pins)
取消屏蔽管脚中断
Definition: ci130x_gpio.c:97
Definition: ci130x_gpio.h:34
void gpio_set_output_level_single(gpio_base_t gpio, gpio_pin_t pins, uint8_t level)
某个管脚输出电平
Definition: ci130x_gpio.c:264
Definition: ci130x_gpio.h:48