STM32 GPIO位操作
不多BB,直接上代码
#define GPIOA_IDR_Addr (GPIOA_BASE + 0x08)
#define PAin(n) *(uint32_t *)((GPIOA_IDR_Addr&0xF0000000) + 0x02000000 + ((GPIOA_IDR_Addr&0x00FFFFFF)<<5)+(n<<2))
#define GPIOA_ODR_Addr (GPIOA_BASE + 0x0C)
#define PAout(n) *(uint32_t *)((GPIOA_ODR_Addr&0xF0000000) + 0x02000000 + ((GPIOA_ODR_Addr&0x00FFFFFF)<<5)+(n<<2))
使用方法:
a = PAin(x);
PAout(x) = 0 or 1;
文章提供了STM32GPIO输入输出寄存器的位操作宏定义,通过#define语句定义了PAin和PAout宏,用于读取和设置GPIOA的指定位。使用方法是读取PAin(x)获取状态,或通过PAout(x)=0或1设置输出状态。
452

被折叠的 条评论
为什么被折叠?



