q2上電復位和硬體看門狗復位有什麼區別嗎,在程式裡將兩者分開,請問有辦法將兩者分開嗎?
a2:上電復位時,記憶體被清零或為任意值,看門狗清零時並沒有斷電,記憶體裡的原有資訊被保留,同時上電復位無法通過標誌位來判別,看門狗復位才可以通過wdtifg 來判別。同時注意reset 之後:
1、判斷有無復位標誌,若有,則為wdt 復位;若無,則為上電復位,並且設定復位標誌。手動按鍵復位也同此理。
2、保證復位標誌在復位程式中不被清除。彙編好辦,那是自己在控制ram 清除程式,c呢,就要注意了。
3、要注意快速斷電/上電的問題。處理不好的話,不但ram 中原先的內容有可能還存在,而且mcu復位很可能會失敗
q13:執行到斷點,程式就復位,不能停在斷點處,跟程式量比較大有關係嗎?請問是什麼原因?
a4:1、因為430微控制器看門狗復位時間預設為32ms,如果你的程式在斷點前的執行時間大於32ms,當然不能執行到斷點,還有如果你的程式自身編寫有問題,比如通訊資料過多和ad取樣時間太長,以及還有可能有死迴圈,都會導致程式斷點不停。
2、如果看門狗是關的,那麼你可以檢查下,在程式執行到斷點前是不是把某個中斷開啟了,在執行到這個斷點前,該中斷產生要進入中斷;但是有可能你的中斷向量是否寫對,寫錯程式會跑飛,你可以看下
q5:用msp430f149,用的是iar,程式在用**器**的時候能正常執行,但是停止**,去掉**器,再重新上電的時候就不能正常執行了,請問這是怎麼回事啊?
a5:1、你先確定,重新上電後微控制器有沒有復位執行。可以加乙個led 做為標誌,如果微控制器跑起來,讓這個led 不停的閃;如果沒有,就檢查復位電路。
2、停止**是會出現程式停止的現象,手動將rst 與地短接復位可以恢復。但只有部分型號的晶元會有這個問題,比如149..開始**也會出現程式燒不進的現象,大部分時候也可以通過手動復位解決;
3、最終檢查出是復位問題。
MSP430常見問題之通訊類
1 430 串列埠中,有個r d 控制線,在接收上位機的資料,但本身的資料有無傳送完畢不知道啊,什麼時候才可置低r d 位來接收資料啊?好像430 沒有傳送完中斷標誌 a1 位元組主動傳送,一般都能發出去,除非你的的時鐘有問題 可以用程式檢測,半雙工通訊,可以多傳送乙個位元組,作為判斷,當最後個位元...
MSP430常見問題之指令系統類
q1.iar中怎樣描述p2out.3腳,define lcd cs1 p2out.3 對嗎?a1 430 不能位定址,所以一般的位操作,都通過 與 來作用。define lcd cs1 p2out bit3 q2.intrinsic是什麼意思 a2 本徵函式,不是c語言標準庫,而是和msp430彙編...
MSP430常見問題之AD轉換類
q1 msp430f149 ad 的輸入阻抗有多大?a1 rc 2000歐 30pf q2 msp430 adc12 模組的速度?a2 adc12 的轉換速率是轉換所需的adc12clk 以及時鐘的一項功能。adc12clk 的近似最小值與最大值分別為500khz 及6.5mhz。速度最快的整個轉換...