#define PBout(n) BIT_ADDR(GPIOB_ODR_Addr,n) //输出 #define PBin(n) BIT_ADDR(GPIOB_IDR_Addr,n) //输入 #define PCout(n) BIT_ADDR(GPIOC_ODR_Addr,n) //输出 #define PCin(n) BIT_ADDR(GPIOC_IDR_Addr,n) //输入 #define PDout(n) BIT_ADDR(GPIOD_ODR_Addr,n) //输出 #define ...
tTestVar.bit5 = 1; tTestVar.bit6 = 1; tTestVar.bit7 = 1; 1. 2. 3. 4. 5. 6. 7. 8. 看汇编,已经修改为硬件位带: 案例2:超简单控制GPIO输入输出寄存器: GPIO里面最常用的就是输入输出。 GPIO输出寄存器定义如下,每个bit控制一个IO引脚。 我们软件定义如下: typedef struct { uint16_t ODR0...
//确保n的值小于16! #define PAout(n) BIT_ADDR(GPIOA_ODR_Addr,n) //输出 #define PAin(n) BIT_ADDR(GPIOA_IDR_Addr,n) //输入 #define PBout(n) BIT_ADDR(GPIOB_ODR_Addr,n) //输出 #define PBin(n) BIT_ADDR(GPIOB_IDR_Addr,n) //输入 #define PCout(n) BIT_ADDR(GPIOC_ODR_Addr,...
tTestVar.bit6=1; tTestVar.bit7=1; 看汇编,已经修改为硬件位带: 案例2:超简单控制GPIO输入输出寄存器: GPIO里面最常用的就是输入输出。 GPIO输出寄存器定义如下,每个bit控制一个IO引脚。 我们软件定义如下: typedefstruct{ uint16_t ODR0 :1; uint16_t ODR1 :1; uint16_t ODR2 :1; uint16_t ODR3...
uint16_tODR14 :1; uint16_tODR15 :1; uint16_tReserved :16; } GPIO_ORD __attribute__((bitband)); GPIO_ORD *GPIOA_ODR = (GPIO_ORD *)(&GPIOA->ODR); GPIO_ORD *GPIOB_ODR = (GPIO_ORD *)(&GPIOB->ODR); GPIO_ORD *GPIOC_ODR = (GPIO_ORD *)(&GPIOC->ODR); ...
2、超简单控制GPIO输入输出寄存器 GPIO里面最常用的就是输入输出。 GPIO输出寄存器定义如下,每个bit控制一个IO引脚。 我们软件定义如下: typedef struct { uint16_t ODR0 : 1; uint16_t ODR1 : 1; uint16_t ODR2 : 1; uint16_t ODR3 : 1; ...
一般编译器都不支持定义仅占一个位的变量,因为内存的最小存取单元也不能达到1bit的粒度,如果让每个1...
23.#define GPIOG_IDR_Addr (GPIOG_BASE+8) //0x40011E08 24. 25.//IO口操作,只对单一的IO口! 26.//确保n的值小于16! 27.#define PAout(n) BIT_ADDR(GPIOA_ODR_Addr,n) //输出 28.#define PAin(n) BIT_ADDR(GPIOA_IDR_Addr,n) //输入 29. 30.#define PBout(n) BIT_ADDR(GPIOB_ODR...
#definePAout(n) BIT_ADDR(GPIOA_ODR_Addr,n)//输出#definePAin(n) BIT_ADDR(GPIOA_IDR_Addr,n)//输入#definePBout(n) BIT_ADDR(GPIOB_ODR_Addr,n)//输出#definePBin(n) BIT_ADDR(GPIOB_IDR_Addr,n)//输入#definePCout(n) BIT_ADDR(GPIOC_ODR_Addr,n)//输出#definePCin(n) BIT_ADDR(GPIO...
#define GPIOG_IDR_Addr (GPIOG_BASE+8) //0x40011E08 //IO口操作,只对单一的IO口! //确保n的值小于16! #define PAout(n) BIT_ADDR(GPIOA_ODR_Addr,n) //输出 #define PAin(n) BIT_ADDR(GPIOA_IDR_Addr,n) //输入 #define PBout(n) BIT_ADDR(GPIOB_ODR_Addr,n) //输出 ...