新聞中心

430頭文件的解釋

作者: 時(shí)間:2016-11-17 來(lái)源:網(wǎng)絡(luò) 收藏
__no_initvolatileunion

{

本文引用地址:http://2s4d.com/article/201611/315510.htm

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后面這段是什么意思呢。聯(lián)合體?

unsignedshortWDTIS0:1;//1表示字段寬度(2進(jìn)制),這表示W(wǎng)DTISO要么是1要么是0

后面這個(gè)8個(gè)位和WDTCTL共享存儲(chǔ)單元??磚serguide,WDTCTL是一個(gè)16位的寄存器,WDTIS0位于其bit0,以此類推,WDTHOLD是bit7,復(fù)位之后這幾個(gè)位都是0。在MSP的C語(yǔ)言中,并不支持位變量。在430的IO頭文件中,用這種定義方式實(shí)現(xiàn)了對(duì)寄存器的位變量訪問(wèn)。

WDTCTL=WDTPW+WDTHOLD;//停止看門狗這個(gè)停止看門狗的操作如何解釋?

WDTCTL很明顯,是看門狗控制寄存器,而WDTPW是一個(gè)宏定義,頭文件里面是這樣子的,#defineWDTPW(0x5A00u),userguide中WDTCTL是一個(gè)16位的寄存器,其中bit15-bit8名字是WDTPW,mustbewrittenas0x5a,這8個(gè)位必須初始化成0x5a。這句也就是完成了WDTPW的初始化并且將WDTHOLD置位,WDTHOLD置位的結(jié)果是看門狗定時(shí)器停止。

unsignedshortWDTNMIES:1;//看門狗定時(shí)器非屏蔽中斷邊沿選擇位。

unsignedshortWDTNMI:1;//看門狗定時(shí)器非屏蔽中斷選擇

unsignedshortWDTTMSEL:1;//看門狗定時(shí)器模式選擇

unsignedshortWDTCNTCL:1;//看門狗定時(shí)器計(jì)數(shù)器清零選擇位

unsignedshortWDTSSEL:1;//看門狗定時(shí)器時(shí)鐘源選擇

unsignedshortWDTIS0:1;//看門狗定時(shí)間隔選擇

unsignedshortWDTIS1:1;//時(shí)間間隔選擇

PUC上電清零powerupclear



關(guān)鍵詞: 430頭文

評(píng)論


技術(shù)專區(qū)

關(guān)閉