|
今天的STM32板子突然出了大問題。所以延時函數(shù)都變慢9倍。
我的延時函數(shù)是用的SysTick函數(shù)精確延時。
因為第一步需要初始化時間,一般8M的晶振我們都要初始化72.因為系統(tǒng)一般都是倍頻9倍的。
但是今天貌似是系統(tǒng)沒有倍頻9倍。
所以才導(dǎo)致整體時間是原來9倍長。
后來發(fā)現(xiàn)倍頻是在
RCC_HSEConfig(RCC_HSE_ON);
HSEStartUpStatus = RCC_WaitForHSEStartUp();
if(HSEStartUpStatus == SUCCESS)
成功后才設(shè)置的如果HSEStartUpStatus不等于1那么就不會執(zhí)行倍頻。也就是說只能使用內(nèi)部自帶的8M晶振了。
后來單步調(diào),發(fā)現(xiàn)確實(shí)是這個HSEStartUpStatus一直為0.也就是一直沒有檢查到外部晶振。
于是乎我們開始確實(shí)晶振是不是沒有起振。
用了示波器,確定確實(shí)是晶振沒有起振。
那么是晶振問題還是板子問題呢。
以前的電路一直都是這么花的,而且都沒出現(xiàn)過問題。
換了一個晶振還是有問題。
難道是電容問題。
以前都是用22P的電容。
于是都換成20P居然就好了。
還是有點(diǎn)不解,理論上電容應(yīng)該不會有這么大的影響。
不過問題是解決了。
希望大家如果遇到相同的問題,可以試著換一下電容。
|
|