gpio.h
来自「基于EK—STM32开发板的LCD驱动编程实现」· C头文件 代码 · 共 478 行 · 第 1/2 页
H
478 行
#define GPIOC_MODE2 (((volatile bGPIOx_CRL *)(&GPIOC_CRL))->MODE2)
#define GPIOC_MODE3 (((volatile bGPIOx_CRL *)(&GPIOC_CRL))->MODE3)
#define GPIOC_MODE4 (((volatile bGPIOx_CRL *)(&GPIOC_CRL))->MODE4)
#define GPIOC_MODE5 (((volatile bGPIOx_CRL *)(&GPIOC_CRL))->MODE5)
#define GPIOC_MODE6 (((volatile bGPIOx_CRL *)(&GPIOC_CRL))->MODE6)
#define GPIOC_MODE7 (((volatile bGPIOx_CRL *)(&GPIOC_CRL))->MODE7)
#define GPIOC_MODE8 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->MODE8)
#define GPIOC_MODE9 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->MODE9)
#define GPIOC_MODE10 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->MODE10)
#define GPIOC_MODE11 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->MODE11)
#define GPIOC_MODE12 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->MODE12)
#define GPIOC_MODE13 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->MODE13)
#define GPIOC_MODE14 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->MODE14)
#define GPIOC_MODE15 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->MODE15)
//GPIOC CNF(Configuration)
#define GPIOC_CNF0 (((volatile bGPIOx_CRL *)(&GPIOC_CRL))->CNF0)
#define GPIOC_CNF1 (((volatile bGPIOx_CRL *)(&GPIOC_CRL))->CNF1)
#define GPIOC_CNF2 (((volatile bGPIOx_CRL *)(&GPIOC_CRL))->CNF2)
#define GPIOC_CNF3 (((volatile bGPIOx_CRL *)(&GPIOC_CRL))->CNF3)
#define GPIOC_CNF4 (((volatile bGPIOx_CRL *)(&GPIOC_CRL))->CNF4)
#define GPIOC_CNF5 (((volatile bGPIOx_CRL *)(&GPIOC_CRL))->CNF5)
#define GPIOC_CNF6 (((volatile bGPIOx_CRL *)(&GPIOC_CRL))->CNF6)
#define GPIOC_CNF7 (((volatile bGPIOx_CRL *)(&GPIOC_CRL))->CNF7)
#define GPIOC_CNF8 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->CNF8)
#define GPIOC_CNF9 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->CNF9)
#define GPIOC_CNF10 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->CNF10)
#define GPIOC_CNF11 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->CNF11)
#define GPIOC_CNF12 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->CNF12)
#define GPIOC_CNF13 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->CNF13)
#define GPIOC_CNF14 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->CNF14)
#define GPIOC_CNF15 (((volatile bGPIOx_CRH *)(&GPIOC_CRH))->CNF15)
//GPIOD MODE
#define GPIOD_MODE0 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->MODE0)
#define GPIOD_MODE1 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->MODE1)
#define GPIOD_MODE2 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->MODE2)
#define GPIOD_MODE3 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->MODE3)
#define GPIOD_MODE4 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->MODE4)
#define GPIOD_MODE5 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->MODE5)
#define GPIOD_MODE6 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->MODE6)
#define GPIOD_MODE7 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->MODE7)
#define GPIOD_MODE8 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->MODE8)
#define GPIOD_MODE9 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->MODE9)
#define GPIOD_MODE10 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->MODE10)
#define GPIOD_MODE11 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->MODE11)
#define GPIOD_MODE12 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->MODE12)
#define GPIOD_MODE13 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->MODE13)
#define GPIOD_MODE14 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->MODE14)
#define GPIOD_MODE15 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->MODE15)
//GPIOD CNF(Configuration)
#define GPIOD_CNF0 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->CNF0)
#define GPIOD_CNF1 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->CNF1)
#define GPIOD_CNF2 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->CNF2)
#define GPIOD_CNF3 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->CNF3)
#define GPIOD_CNF4 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->CNF4)
#define GPIOD_CNF5 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->CNF5)
#define GPIOD_CNF6 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->CNF6)
#define GPIOD_CNF7 (((volatile bGPIOx_CRL *)(&GPIOD_CRL))->CNF7)
#define GPIOD_CNF8 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->CNF8)
#define GPIOD_CNF9 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->CNF9)
#define GPIOD_CNF10 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->CNF10)
#define GPIOD_CNF11 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->CNF11)
#define GPIOD_CNF12 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->CNF12)
#define GPIOD_CNF13 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->CNF13)
#define GPIOD_CNF14 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->CNF14)
#define GPIOD_CNF15 (((volatile bGPIOx_CRH *)(&GPIOD_CRH))->CNF15)
//GPIOE MODE
#define GPIOE_MODE0 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->MODE0)
#define GPIOE_MODE1 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->MODE1)
#define GPIOE_MODE2 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->MODE2)
#define GPIOE_MODE3 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->MODE3)
#define GPIOE_MODE4 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->MODE4)
#define GPIOE_MODE5 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->MODE5)
#define GPIOE_MODE6 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->MODE6)
#define GPIOE_MODE7 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->MODE7)
#define GPIOE_MODE8 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->MODE8)
#define GPIOE_MODE9 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->MODE9)
#define GPIOE_MODE10 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->MODE10)
#define GPIOE_MODE11 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->MODE11)
#define GPIOE_MODE12 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->MODE12)
#define GPIOE_MODE13 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->MODE13)
#define GPIOE_MODE14 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->MODE14)
#define GPIOE_MODE15 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->MODE15)
//GPIOE CNF(Configuration)
#define GPIOE_CNF0 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->CNF0)
#define GPIOE_CNF1 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->CNF1)
#define GPIOE_CNF2 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->CNF2)
#define GPIOE_CNF3 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->CNF3)
#define GPIOE_CNF4 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->CNF4)
#define GPIOE_CNF5 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->CNF5)
#define GPIOE_CNF6 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->CNF6)
#define GPIOE_CNF7 (((volatile bGPIOx_CRL *)(&GPIOE_CRL))->CNF7)
#define GPIOE_CNF8 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->CNF8)
#define GPIOE_CNF9 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->CNF9)
#define GPIOE_CNF10 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->CNF10)
#define GPIOE_CNF11 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->CNF11)
#define GPIOE_CNF12 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->CNF12)
#define GPIOE_CNF13 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->CNF13)
#define GPIOE_CNF14 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->CNF14)
#define GPIOE_CNF15 (((volatile bGPIOx_CRH *)(&GPIOE_CRH))->CNF15)
//GPIO input
#define GPIOA_IN GPIOA_IDR
#define GPIOB_IN GPIOB_IDR
#define GPIOC_IN GPIOB_IDR
#define GPIOD_IN GPIOC_IDR
#define GPIOE_IN GPIOD_IDR
//GPIOx input bit field
typedef struct bGPIOx_IN
{
unsigned int IN0 :1;
unsigned int IN1 :1;
unsigned int IN2 :1;
unsigned int IN3 :1;
unsigned int IN4 :1;
unsigned int IN5 :1;
unsigned int IN6 :1;
unsigned int IN7 :1;
unsigned int IN8 :1;
unsigned int IN9 :1;
unsigned int IN10 :1;
unsigned int IN11 :1;
unsigned int IN12 :1;
unsigned int IN13 :1;
unsigned int IN14 :1;
unsigned int IN15 :1;
}bGPIOx_IN;
//GPIOA input bit field
#define GPIOA_IN0 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN0)
#define GPIOA_IN1 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN1)
#define GPIOA_IN2 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN2)
#define GPIOA_IN3 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN3)
#define GPIOA_IN4 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN4)
#define GPIOA_IN5 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN5)
#define GPIOA_IN6 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN6)
#define GPIOA_IN7 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN7)
#define GPIOA_IN8 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN8)
#define GPIOA_IN9 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN9)
#define GPIOA_IN10 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN10)
#define GPIOA_IN11 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN11)
#define GPIOA_IN12 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN12)
#define GPIOA_IN13 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN13)
#define GPIOA_IN14 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN14)
#define GPIOA_IN15 (((volatile bGPIOx_IN *)(&GPIOA_IN))->IN15)
//GPIOB input bit field
#define GPIOB_IN0 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN0)
#define GPIOB_IN1 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN1)
#define GPIOB_IN2 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN2)
#define GPIOB_IN3 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN3)
#define GPIOB_IN4 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN4)
#define GPIOB_IN5 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN5)
#define GPIOB_IN6 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN6)
#define GPIOB_IN7 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN7)
#define GPIOB_IN8 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN8)
#define GPIOB_IN9 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN9)
#define GPIOB_IN10 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN10)
#define GPIOB_IN11 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN11)
#define GPIOB_IN12 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN12)
#define GPIOB_IN13 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN13)
#define GPIOB_IN14 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN14)
#define GPIOB_IN15 (((volatile bGPIOx_IN *)(&GPIOB_IN))->IN15)
//GPIOC input bit field
#define GPIOC_IN0 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN0)
#define GPIOC_IN1 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN1)
#define GPIOC_IN2 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN2)
#define GPIOC_IN3 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN3)
#define GPIOC_IN4 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN4)
#define GPIOC_IN5 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN5)
#define GPIOC_IN6 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN6)
#define GPIOC_IN7 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN7)
#define GPIOC_IN8 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN8)
#define GPIOC_IN9 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN9)
#define GPIOC_IN10 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN10)
#define GPIOC_IN11 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN11)
#define GPIOC_IN12 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN12)
#define GPIOC_IN13 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN13)
#define GPIOC_IN14 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN14)
#define GPIOC_IN15 (((volatile bGPIOx_IN *)(&GPIOC_IN))->IN15)
//GPIOD input bit field
#define GPIOD_IN0 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN0)
#define GPIOD_IN1 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN1)
#define GPIOD_IN2 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN2)
#define GPIOD_IN3 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN3)
#define GPIOD_IN4 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN4)
#define GPIOD_IN5 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN5)
#define GPIOD_IN6 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN6)
#define GPIOD_IN7 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN7)
#define GPIOD_IN8 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN8)
#define GPIOD_IN9 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN9)
#define GPIOD_IN10 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN10)
#define GPIOD_IN11 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN11)
#define GPIOD_IN12 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN12)
#define GPIOD_IN13 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN13)
#define GPIOD_IN14 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN14)
#define GPIOD_IN15 (((volatile bGPIOx_IN *)(&GPIOD_IN))->IN15)
//GPIOE input bit field
#define GPIOE_IN0 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN0)
#define GPIOE_IN1 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN1)
#define GPIOE_IN2 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN2)
#define GPIOE_IN3 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN3)
#define GPIOE_IN4 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN4)
#define GPIOE_IN5 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN5)
#define GPIOE_IN6 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN6)
#define GPIOE_IN7 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN7)
#define GPIOE_IN8 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN8)
#define GPIOE_IN9 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN9)
#define GPIOE_IN10 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN10)
#define GPIOE_IN11 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN11)
#define GPIOE_IN12 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN12)
#define GPIOE_IN13 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN13)
#define GPIOE_IN14 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN14)
#define GPIOE_IN15 (((volatile bGPIOx_IN *)(&GPIOE_IN))->IN15)
//GPIOx set
#define GPIOA_SET GPIOA_BSRR
#define GPIOB_SET GPIOB_BSRR
#define GPIOC_SET GPIOC_BSRR
#define GPIOD_SET GPIOD_BSRR
#define GPIOE_SET GPIOE_BSRR
//GPIOx clr
#define GPIOA_CLR GPIOA_BRR
#define GPIOB_CLR GPIOB_BRR
#define GPIOC_CLR GPIOC_BRR
#define GPIOD_CLR GPIOD_BRR
#define GPIOE_CLR GPIOE_BRR
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?