F3不能用位带操作GPIO之原由最 近用到STM32F303,在修改IO的时候,觉得用库操作太麻烦了,要自己一个一个修改,用宏定义也不解决,自然就会想到用位带操作。查M4的手册知道 M4也是支持位带操作,F3系列也是属于M4内核,而且在405也是用位带操作,觉得F303也是一样可以做位带操作。直接先修改一个IO,调试却发现 在,IO电平始终没有变化。查IO,初始化没有问题。再查位带宏定义:#define BITBAND(addr, bitnum) (addr & 0xF0000000)+0x2000000+(addr &0xFFFFF)5)+(bitnum2)#define MEM_ADDR(addr) *(volatile unsigned long *)(addr)#define BIT_ADDR(addr, bitnum) MEM_ADDR(BITBAND(addr, bitnum)/IO口地址映射#define GPIOA_ODR_Addr (GPIOA_BASE+20)#define GPIOB_ODR_Addr (GPI