stm32重啟除錯筆記

2021-09-13 22:46:34 字數 927 閱讀 4540

本文章主要解決在使用stm32+ucos進行嵌入式軟體開發中遇到的系統重啟現象查詢與解決。

系統重啟又多種可能:1、看門狗中斷;2、記憶體洩漏;3、軟體重啟。

首先看一下stm32的手冊關於系統重啟的狀態暫存器,其中詳細的記錄了幾個系統重啟的原因(低功耗復位標誌、視窗看門狗復位標誌、)

a:通過debug檢視,在**進入main函式時加入斷電,通過檢視rcc暫存器值可以明了的檢視相關狀態

b:在檢視之後應該清除中斷資訊,這樣下次重啟時才能知道重啟原因。加入下面一條語句。

/*列印中斷標誌字*/

void print_reboot_flag(void)

else if(rcc->csr & 1<<30)else if(rcc->csr & 1<<29)else if(rcc->csr & 1<<28)else if(rcc->csr & 1<<27)else if(rcc->csr & 1<<26)else if(rcc->csr & 1<<25)

}/*清除中斷標誌字*/

void clear_reboot_flag(void)

/*printf()函式位相應的列印輸出定向函式*/

重啟原因找到了,下面就是解決重啟問題,上面標識的重啟原因基本是比較容易解決的。

結束

STM32 USART除錯筆記

硬體環境 stm32f103 ide mdk 韌體庫 3.5 實現功能 串列埠接收一串字串放入定義的緩衝區。當空閒終端發生時,去除字串中的關鍵字。前期遇到問題 1.接收到的資料再rxne中斷中,逐個訪問陣列中。再次訪問陣列時。陣列中的資料不見了,並且rev num與實際傳送到的字串個數並不符合。需要...

STM32除錯筆記之USART 波特率

設計了乙個串列埠通訊電路 cpu 接 光電隔離ic 再接max3232 除錯時發現串列埠助手裡一直是亂碼,而且示波器測得的波形也老是抓不到波形 不怪示波器,怪我水平太低了。浪費了乙個晚上時間,後來請同事幫忙,他幫我開啟了串列埠助手中的 hex顯示 新技能get 這樣就能看串列埠發出來的實際二進位制資...

stm32如何才能正常執行的除錯筆記

想使用野火或者安福來的 模板來學習這個stm32,畢竟他買使用量挺多的,風格尤其是安福來比較好,因此想試試他們的工程,但是弄了好長一段時間,微控制器就是不能執行,進入debug,就宕機,停在硬體錯誤或其他地方。後來想想,真是低階錯誤導致的,因此整理一下。今後遇到不能正常執行的情況下,先冷靜下來思考而...