430头文件的解释
{
unsignedshortWDTCTL;/*WatchdogTimerControl*/
struct
{
unsignedshortWDTIS0:1;/**/
unsignedshortWDTIS1:1;/**/
unsignedshortWDTSSEL:1;/**/
unsignedshortWDTCNTCL:1;/**/
unsignedshortWDTTMSEL:1;/**/
unsignedshortWDTNMI:1;/**/
unsignedshortWDTNMIES:1;/**/
unsignedshortWDTHOLD:1;/**/
}WDTCTL_bit;
}@0x0120;
enum{
WDTIS0=0x0001,
WDTIS1=0x0002,
WDTSSEL=0x0004,
WDTCNTCL=0x0008,
WDTTMSEL=0x0010,
WDTNMI=0x0020,
WDTNMIES=0x0040,
WDTHOLD=0x0080
};
WDTCTL的地址单元是0x0120后面这段是什么意思呢。联合体?
unsignedshortWDTIS0:1;//1表示字段宽度(2进制),这表示WDTISO要么是1要么是0
后面这个8个位和WDTCTL共享存储单元。看userguide,WDTCTL是一个16位的寄存器,WDTIS0位于其bit0,以此类推,WDTHOLD是bit7,复位之后这几个位都是0。在MSP的C语言中,并不支持位变量。在430的IO头文件中,用这种定义方式实现了对寄存器的位变量访问。
WDTCTL=WDTPW+WDTHOLD;//停止看门狗这个停止看门狗的操作如何解释?
WDTCTL很明显,是看门狗控制寄存器,而WDTPW是一个宏定义,头文件里面是这样子的,#defineWDTPW(0x5A00u),userguide中WDTCTL是一个16位的寄存器,其中bit15-bit8名字是WDTPW,mustbewrittenas0x5a,这8个位必须初始化成0x5a。这句也就是完成了WDTPW的初始化并且将WDTHOLD置位,WDTHOLD置位的结果是看门狗定时器停止。
unsignedshortWDTNMIES:1;//看门狗定时器非屏蔽中断边沿选择位。
unsignedshortWDTNMI:1;//看门狗定时器非屏蔽中断选择
unsignedshortWDTTMSEL:1;//看门狗定时器模式选择
unsignedshortWDTCNTCL:1;//看门狗定时器计数器清零选择位
unsignedshortWDTSSEL:1;//看门狗定时器时钟源选择
unsignedshortWDTIS0:1;//看门狗定时间隔选择
unsignedshortWDTIS1:1;//时间间隔选择
PUC上电清零powerupclear
430头文 相关文章:
- MSP430的头文件解析(11-26)
- msp430头文件中 DEFC DEFW 及周边的解释(11-25)
- IAR 430 头文件中#define定义的部分解释(11-24)
- MSP430学习笔记——头文件解析之时钟模块寄存器(11-10)
- MSP430学习笔记——头文件解析之看门狗(11-10)
- Windows CE 进程、线程和内存管理(11-09)