<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > msp430電壓監控

msp430電壓監控

作者: 時(shí)間:2016-11-13 來(lái)源:網(wǎng)絡(luò ) 收藏
一、使用限制:

當使用MSP430x41x器件的時(shí)候,應該注意的是,x413,x417和x419在器件上有很大的區別。

本文引用地址:http://dyxdggzs.com/article/201611/316285.htm

對于SVS這一塊,以413和419為典型,413只有1.9V這一檔電壓監測,不僅電壓值不可選,還只能測來(lái)自VCC的電壓;419不僅具有SVSIN可以監測外部的電壓,而非只局限在VCC內部電壓上,還有14種不同電壓可選,可以任意監控內部或外部電壓了。

如果要在413上做電池的低電量指示,非1.9V不報警,所以不適于鋰電池供電的設備,只適合于使用一次性干電池的設備使用。要想做鋰電池的指示,要么不用413,要么用比較器實(shí)現。

二、使用誤區:

在使用41x器件上的SVS時(shí),很多人可能誤讀了手冊,或是沒(méi)有細讀就使用了它,導致軟件編寫(xiě)的錯誤,雖然不會(huì )引起大問(wèn)題,但確實(shí)是不應該發(fā)生的問(wèn)題。

VLDx設置電壓值,0為關(guān)閉SVS,1-15均為啟用,其中15為監控外部從SVSIN輸入的信號,1-14從小到大依次為從低至高監控內部VCC電壓的。而在413器件上,由于只有1.9V一檔,只要是非0值效果都是一樣的,當然,如果要兼容41x全系列的軟件,還是應該使用對應的電壓值選項,也就是1。

SVSON是最容易誤用的一個(gè)位。在網(wǎng)上很多例程在設置SVSCTL時(shí)會(huì )類(lèi)似下面代碼這樣寫(xiě):

#define VLD_3V7 0xe0

void low_bat_test(void)

{

SVSCTL = SVSON + VLD_3V7;

_NOP();

_NOP();

_NOP();

if(SVSCTL & SVSOP)

//低壓指示

else

//關(guān)掉低壓指示

SVSCTL = 0;

}

其實(shí)是一個(gè)誤讀造成的。英文手冊中特別用大寫(xiě)字母注出來(lái),SVSON位不是用來(lái)打開(kāi)SVS的,這個(gè)位會(huì )在VLDx>0的時(shí)候自動(dòng)被打開(kāi),所以從上例中看的話(huà)很明顯,寫(xiě)代碼的作者認為那是打開(kāi)SVS用的開(kāi)關(guān)。

正確的寫(xiě)法就是SVSCTL = VLD_3V7; 就行了,之后我們再查看SVSCTL的值就變成了0xe4。

另一個(gè)沒(méi)有細讀就出的地方就是關(guān)于延時(shí),雖然手冊中說(shuō)SVSON是在VLDx>0時(shí)自動(dòng)設置的,但如果那一章全部都細看過(guò)的話(huà)會(huì )知道另外兩件事:

1、當啟動(dòng)(從關(guān)閉變成開(kāi))或改變監控電壓的時(shí)候,SVS模塊并不能馬上開(kāi)始工作,必須要等一段時(shí)間,且啟動(dòng)和更改電壓的等待時(shí)間也是不同的,分別約為50us和12us以?xún)取?/p>

2、SVSON位并不是在設置VLDx為非0值后立即動(dòng)作的,它可以作為SVS系統穩定的指示器使用,在SVS模塊準備好之前,SVSON位仍是0,當SVSON為1時(shí)則說(shuō)明模塊準備完畢,可以工作了。

所以我們可以把上述程序改成這樣子:

#define VLD_3V7 0xe0

void low_bat_test(void)

{

SVSCTL = VLD_3V7; //這句直接設置電壓值,且不要修改SVSON位

while((SVSCTL & SVSON) != SVSON); //這句就是無(wú)限等待SVSON直到它為1才繼續

if(SVSCTL & SVSOP)

//低壓指示

else

//關(guān)掉低壓指示

SVSCTL = 0;

}

注意到代碼與前邊的不同來(lái)了吧?本人也是拋磚引玉,希望大家有什么不同的看法也提出來(lái),一起討論,如果我講的有錯誤,也請提出來(lái),一起學(xué)習,一起進(jìn)步。



關(guān)鍵詞: msp430電壓監

評論


技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>