本帖最后由 ninimi 于 2014-11-12 11:18 编辑
问题一:下列宏定义中 ((base)->PCR[index]) 和 ((base)->GPCLR) 分别是什么意思? #define PORT_PCR_REG(base,index) ((base)->PCR[index]) #define PORT_GPCLR_REG(base) ((base)->GPCLR)
问题二:地址前加(PORT_MemMapPtr)作何解释?强制转化? #define PORTA_BASE_PTR ((PORT_MemMapPtr)0x40049000u)
问题三:(uint32_t)~(uint32_t)中"~"是什么意思?(uint32_t)~(uint32_t)怎么讲? SIM_SOPT1 &= (uint32_t)~(uint32_t)(SIM_SOPT1_OSC32KSEL(0x03)); PORTA_PCR4 = (uint32_t)((PORTA_PCR4 & (uint32_t)~(uint32_t)( PORT_PCR_ISF_MASK )) | (uint32_t)( PORT_PCR_MUX(0x07) ));
|