各位高手: 以上的指针表示 /* General Purpose Input/Output (GPIO) */ /* 通用并行IO口的特殊寄存器 */
#define IO0PIN (*((volatile unsigned long *) 0xE0028000)) /* no in lpc210x*/ #define IO0SET (*((volatile unsigned long *) 0xE0028004)) /* no in lpc210x*/ #define IO0DIR (*((volatile unsigned long *) 0xE0028008)) /* no in lpc210x*/ #define IO0CLR (*((volatile unsigned long *) 0xE002800C)) /* no in lpc210x*/
为什么(volatile unsigned long *) 这里要括号呢? 上面的意思应该是定义IO0PIN 为 0xE0028000(IO0PIN的寄存器为0xE0028000) , 直接 #define IO0PIN 0xE0028000 // 不就得了吗。
还有下面 *((volatile INT16U *)FLASH_START_ADDR)=FLASH_SID_EXIT;
*((volatile INT16U *)FLASH_START_ADDR+FLASH_ADDR_UNLOCK1)=FLASH_DATA_UNLOCK1;
哪位高手帮忙解惑一下。
|