STM32程序無法進(jìn)入main函數(shù)的解決方法
很多人在基于STM32單片機(jī)項(xiàng)目開發(fā)過程中,會(huì)遇到STM32程序無法進(jìn)入main的現(xiàn)象,在這篇文將分享STM32程序無法進(jìn)入main函數(shù)的解決方法,希望對(duì)用戶有所幫助。
1.printf等函數(shù)采用了半主機(jī)模式
解決方法:關(guān)掉半主機(jī)模式,將輸入輸出端重定向到ARM器件上,重寫fputc和fgetc函數(shù)。
2.系統(tǒng)滴答systick中斷導(dǎo)致無法進(jìn)入main函數(shù)
解決方法有兩種:
1)在bootloader程序跳轉(zhuǎn)到app層時(shí)就關(guān)閉系統(tǒng)滴答中斷:SysTick-》CTRL &= ~SysTick_CTRL_ENABLE_Msk;
2)在SystemInit函數(shù)關(guān)閉系統(tǒng)滴答中斷:SysTick-》CTRL &= ~SysTick_CTRL_ENABLE_Msk;
3.選擇運(yùn)行程序方式的問題
解決方法:把芯片上的boot0引腳拉低即可
附:
BOOT1=x BOOT0=0 從用戶閃存啟動(dòng)
BOOT1=0 BOOT0=1 從系統(tǒng)存儲(chǔ)器啟動(dòng)
BOOT1=1 BOOT0=1 從內(nèi)置SRAM 啟動(dòng)
以上是STM32程序無法進(jìn)入main函數(shù)的解決方法。
本文整合自CSDN、博客園
責(zé)編AJX
-
STM32
+關(guān)注
關(guān)注
2272文章
10925瀏覽量
357710 -
函數(shù)
+關(guān)注
關(guān)注
3文章
4346瀏覽量
62992
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
變頻器無法進(jìn)行調(diào)速的原因和解決方法
![變頻器<b class='flag-5'>無法</b>進(jìn)行調(diào)速的原因和<b class='flag-5'>解決方法</b>](https://file1.elecfans.com/web3/M00/07/6A/wKgZPGelu2mAMsJJAACUeEwGPPQ625.png)
變頻器無法進(jìn)行快速逆轉(zhuǎn)原因及解決方法
龍門式蔡司三坐標(biāo)測(cè)量機(jī)無法加載驅(qū)動(dòng)的原因和解決方法
![龍門式蔡司三坐標(biāo)測(cè)量機(jī)<b class='flag-5'>無法</b>加載驅(qū)動(dòng)的原因和<b class='flag-5'>解決方法</b>](https://file1.elecfans.com/web1/M00/F3/F2/wKgaoWchzheAafouAACm-6mDaJs691.png)
邏輯分析儀的常見故障及解決方法
ESP32-C3使用http OTA時(shí)串口無法接收數(shù)據(jù),請(qǐng)問有解決方法嗎?
函數(shù)發(fā)生器的常見故障及解決方法
STM32F411進(jìn)入SLEEP MODE后無法SWD下載怎么解決?
Tektronix示波器無法檢測(cè)到探頭的可能原因及解決方法
![Tektronix示波器<b class='flag-5'>無法</b>檢測(cè)到探頭的可能原因及<b class='flag-5'>解決方法</b>](https://file1.elecfans.com/web2/M00/E2/1A/wKgZomY67MKAUGOzAANeS9rVYvw733.png)
評(píng)論