1. 程式人生 > >STM32 時鐘配置的坑

STM32 時鐘配置的坑

article 這位 value endif osc tar defined 公司 代碼

今天在調試公司的一款產品的時候發現8M的晶振用完了,於是找了一個16M的替代

坑爹的就在這裏,明明已經把時鐘按照時鐘樹配置好了,但是串口等外設一直無法正常工作

折騰了一下午,終於發現這位老兄的文章http://www.eeworld.com.cn/mcu/article_2016101130348.html

在stm32f10x.h中91-97行的代碼如下:

#if !defined  HSE_VALUE

  #ifdef STM32F10X_CL   

         #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */

  #else
#define HSE_VALUE ((uint32_t)16000000) /*!< Value of the External oscillator in Hz */ #endif /* STM32F10X_CL */ #endif /* HSE_VALUE */

其實STM32並不知道外部接多少頻率的晶振,要在stm32f10x.h中給出,所以需要手動配置 HSE_VALUE ((uint32_t)16000000)

STM32 時鐘配置的坑