STM32 時鐘配置的坑
阿新 • • 發佈:2018-10-09
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 時鐘配置的坑