有時為了驗證晶振的精度,一種方式就是直接測量晶振的引腳的脈衝頻率,這種方式的成本和測試條件都比較高,另一種方式就是經過微控制器處理後經普通io口輸出,這種方式只要有普通的頻率計或者示波器即可驗證。測試mcu:stm32f030c8t6
原理分析:
stm32f030c8t6
或其他系列的微控制器有乙個功能叫mco: microcontroller clock output
,可以將以下時鐘輸出到特定的gpioa->pin8:詳見stm32f0xx_rcc.h
的rcc_mco_clock_source
)}api
void rcc_mcoconfig(uint8_t rcc_mcosource, uint32_t rcc_mcoprescaler)
的形參rcc_mcoprescaler
在stm32f030x8
系列中無效。mco功能的輸出似乎與io口的配置的
gpio_speed
無關,測試過程,配置rcc_mcosource
為rcc_mcosource_pllclk
時,即倍頻後的時鐘72mhz(板子上的外部晶振12mhz),io口也可以正常輸出72mhz頻率的脈衝一開始沒注意編譯器的預編譯條件的配置,沒選擇正確的型號,造成api的呼叫錯誤,一直打不出脈衝,需要注意在如下圖中配置好該預編譯條件,仔細看原始碼也是可以發現問題的
STM32之系統時鐘
使用stm32已經有一段時間,為了快速完成任務習慣性在已有 的基礎上進行部分修改,而沒有仔細閱讀資料手冊,詳細分析引數設定的緣由。現將逐步將stm32的各部分內部結構一次進行細節的學習,今天進行stm32的時鐘部分。stm32f103系列時鐘最高可以至72mhz,時鐘 包括hse 外部高速時鐘 ls...
教你如何修改STM32系統時鐘
具體步驟如下 第一步,全域性搜尋hse value define hse value uint32 t 8000000 value of the external oscillator in hz 修改為 define hse value uint32 t 12000000 value of the...
如何將STM32微控制器與RFID進行連線
在本篇文章中,我們將使用stm32和rfid讀卡器設計乙個讀取rfid卡的系統。rfid表示射頻識別,它使用無線電頻率讀取資訊。rfid用於許多認證系統,如電梯乘坐系統 自動收費系統 醫院患者資訊維護系統 自動資料收集等。本文中,我們將學習如何使用stm32f103c8微控制器連線em 18 rfi...