/* PORTC的基地址是:0x4001 1000 设备位段区的基地址: 0x4000 0000 设备位段别名区基地址: 0x4200 0000 位段区的偏移量 = 0x4001 1000 - 0x4000 0000 = 0x1 1000 字偏移地址 = (0x1 1000*0x20) + ((ÒªÉèÖõĵڼ¸Î»)3 * 4) 位带别名区的地址 = 0x4200 0000 + (0x1 1000*0x20) + ((ÒªÉèÖõĵڼ¸Î»)3 * 4) */ // #define PortCBit3 (*((volatile unsigned int *)(0x4222000C))) // #define PortCBit4 (*((volatile unsigned int *)(0x42220010))) // #define PortCBit5 (*((volatile unsigned int *)(0x42000014))) // #define CLOSE_LED1() (PortCBit3 = 0) // #define CLOSE_LED2() (PortCBit4 = 0) // #define CLOSE_LED3() (PortCBit5 = 0) // #define TURN_LED1() (PortCBit3 = 1) // #define TURN_LED2() (PortCBit4 = 1) // #define TURN_LED3() (PortCBit5 = 1) 为什么我在主函数中调用上面6个宏,led灯不会闪烁,用库函数却可以。求赐教! |
RE:STM32位段区的问题
回复:STM32位段区的问题
定义不准确吧。
您说的是宏定义后面的地址计算的有问题?可是这个地址我算了好几遍了,没问题啊。