我們知道,MCU的系統時鐘主頻就相當于人的心跳或脈搏,為所有的工作單元提供時間基數,所以一般在程序最開始的地方都需要進行主頻配置。
GD32固件庫中提供了多種宏定義,可以很方便的將系統時鐘配置為想要的頻率。

GD32固件庫中所用的外部晶振配置一般為8M或25M,如果想要使用其他頻率的晶振,可以參考FAQ《更改晶振后如何修改配置》。
有的小伙伴在做好PCB后,將程序下載進去發現運行異常,想要仿真查下原因時,發現下載不了程序了,這時候就要注意,是不是板子上的晶振和程序中配置的不匹配?比如程序中使用的晶振大小為8M,但板子上的是12M的晶振,結果你以為配置的是120M的主頻,實際變成了180M了,這超頻可太多了,當然就無法再下載程序啦。


那如何解決這個問題呢?有個方法就是讓MCU進入ISP模式,小伙伴們可以參考FAQ《GD32 MCU進入低功耗模式導致無法再進行程序下載怎么辦?》中的“方法一”,和超頻無法下載類似。
我們今天講述另一種方法,那就是啟動MCU的時候,用鑷子把外部晶振的OSC_IN和OSC_OUT腳短接起來,然后把程序擦除即可。沒錯,就是這么簡單粗暴。

原理其實也很簡單,使用GD32 固件庫時,一般在進入main函數之前都會進行系統時鐘配置,配置函數中在開啟外部晶振后會有等待晶振穩定的過程,如果在一定時間內無法穩定,則會進入while(1)循環(小伙伴們可以自行增加超時退出的操作哦),在這個過程中,MCU實際是使用內部高速晶振在跑的,沒超頻,當然就可以擦除程序啦,用鑷子短接晶振,就是為了讓晶振狀態無法穩定,是不是很簡單呢?

利用類似原理,其實還有其他操作也可以解決,小伙伴們有想到嗎?沒錯,就是把晶振從板子上拆下來,等程序被擦除后,再焊接回去。
其實這個方法也適用于進入低功耗后無法下載的問題,當然前提是用的外部晶振。
好了,今天的內容就這些,如果還沒有學廢,那就評論區聊聊吧~記得點贊收藏加關注
-
單片機
+關注
關注
6057文章
44813瀏覽量
644367 -
mcu
+關注
關注
146文章
17699瀏覽量
357855 -
嵌入式
+關注
關注
5122文章
19427瀏覽量
312854 -
硬件開發
+關注
關注
3文章
164瀏覽量
24588
發布評論請先 登錄
相關推薦
兆易創新GD32 MCU閃耀2025慕尼黑上海電子展

常見MCU故障及解決辦法
【GD32 MCU入門教程】GD32 MCU GPIO 結構與使用注意事項

【GD32 MCU 入門教程】GD32 MCU 常見外設介紹(14)RTC 模塊介紹

GD32 MCU 入門教程】GD32 MCU 常見外設介紹(12)FMC 模塊介紹

【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明(3)脫機燒錄

【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明 (2)SWD/JTAG在線下載

【GD32 MCU 入門教程】二、GD32 MCU 燒錄說明(1)ISP 燒錄

【GD32 MCU 入門教程】一、GD32 MCU 開發環境搭建(3)使用 Embedded Builder 開發 GD32

【GD32 MCU 入門教程】一、GD32 MCU 開發環境搭建(2)使用 IAR 開發 GD32

【GD32 MCU 入門教程】一、GD32 MCU 開發環境搭建(1)使用Keil開發GD32

評論