很高兴为你解答,首先我们一步一步看,(0x01 <<3) = 二进制 1000,(~(100)) = (0111)//设置寄存器的低3位位1 DIR &= 0x0111,这样你能理解吗!
#defineLPC_SC (*******)//定义宏变量LPC_SC_TypeDef 为LPC系统文件里面的结构体,已经定义;
为了分析方便,权且用struct SC替代LPC_SC_TypeDef ,那么代入就是:
(struct SC *) LPC_SC_BASE
LPC_SC_BASE
为基地址,指向某个地址,LPC系统文件里面也已经定义地址;
细看:
(struct SC *)定义了一个struct结构体的存储单元,
而(struct SC *) LPC_SC_BASE使得指针LPC_SC_BASE变量指向这个结构体;
整个看:
定义了LPC_SC结构体,且此结构体存储单元指向LPC_SC_BASE 指针。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)