日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 現(xiàn)象:程序燒錄板子后,單片機(jī)不啟動(dòng),卡死。注釋掉部分字節(jié)數(shù)組后,才能運(yùn)行。分析: 這是IAR編譯的方法,導(dǎo)致看門狗溢出了。MSP430單片機(jī)一上電看門狗就已經(jīng)啟動(dòng),但是在進(jìn)入main()函數(shù)之前,軟件會(huì)

現(xiàn)象:程序燒錄板子后,單片機(jī)不啟動(dòng),卡死。注釋掉部分字節(jié)數(shù)組后,才能運(yùn)行。

分析:

這是IAR編譯的方法,導(dǎo)致看門狗溢出了。MSP430單片機(jī)一上電看門狗就已經(jīng)啟動(dòng),但是在進(jìn)入main()函數(shù)之前,軟件會(huì)先初始化用到的一些數(shù)據(jù),比如數(shù)組。如果數(shù)定義的比較大,初始化時(shí)間比較長(zhǎng),那就有可能導(dǎo)致看門狗溢出了,單片機(jī)復(fù)位,然后重啟,再初始化,再溢出,再?gòu)?fù)位..程序永遠(yuǎn)也進(jìn)不去主函數(shù)。

解決方法:

使用低級(jí)初始化函數(shù):int __low_level_init(void)。該函數(shù)會(huì)自動(dòng)把低級(jí)初始化函數(shù)放在程序的最開始處,在此可以關(guān)閉看門狗,等低級(jí)初始化函數(shù)執(zhí)行完之后,才會(huì)進(jìn)行數(shù)據(jù)初始化,最后再進(jìn)入main()函數(shù)。

void main()

{

}

int __low_level_init(void)
{
WDTCTL = WDTPW+WDTHOLD; // Stop WDT
/* Insert your low-level initializations here */

/*
* Return value:
*
* 1 - Perform data segment initialization.
* 0 - Skip data segment initialization.
*/

return 1;
}

也不用調(diào)用該函數(shù),編譯器自動(dòng)將其放在最開始處。

當(dāng)然也可以把所有硬件初始化函數(shù)寫進(jìn)來,這樣在進(jìn)入main函數(shù)之前,把硬件都準(zhǔn)備好了,避免了其他bug產(chǎn)生。

__no_init unsigned char all_25665[] ={

//4K多字節(jié)

};


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉