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