好吧,那今天我就给你露一手,就从你的stm32没有位寻址开始,
#define GPIOA_ODR_Addr (GPIOA_BASE+0X0C)
#define BITBAND(addr,bitnum) ((addr&0xF0000000)+0x2000000+((addr&0xFFFFF)<<5)+(bitnum<<2))
#define MEM_ADDR(addr) (*((volatile unsigned long *)(addr)))
#define BIT_ADDR(addr, bitnum) MEM_ADDR(BITBAND(addr, bitnum))
// 如果你要用PA1
#define PA1 BIT_ADDR(GPIOA_ODR_Addr,1)
这样在程序你可以直接
PA1=1;
PA1=0;
PA1=!PA1;
|