可編程晶振的設置很多人其實不知道除了按照說明書上操作,也可以看視頻教程尤其是對于可編程晶振設置的方面都是這些細節都是選擇,另外也可以咨詢專業的FAE工程師進行分解。
可編程晶振的定義外部晶振宏定義。宏定義的寫法如下:#定義HSE_VALUE ((uint32_t)24000000)外部晶振想寫多少寫多少。如果是24M外接晶振,就寫成2400000。
如果不需要宏定義,在單片機的頭文件里找宏定義部分就可以了。頭文件默認宏定義為16M外部晶振,可以修改為實際的晶振值。
配置外部晶振。配置外部晶振時,您需要啟用外部時鐘,并等到晶振穩定。使用庫函數配置的語句如下:void CLK_Init(){CLK_HSECmd(使能);//外部時鐘開啟while(設定!=CLK _獲取標志狀態(CLK _標志_ hser dy));//等待外部晶振振動。CLK _時鐘開關命令(使能);//切換啟用
CLK _時鐘開關配置(CLK _開關模式_手動,CLK _源_HSE,禁用,CLK _當前時鐘狀態_禁用);//切換到外部晶振CLK _ SYSCLKConfig(CLK _預分頻器_ CPU div 1);//1分頻}
在main()中初始化在main()中初始化CLK_Init()。此時,配置了外部晶振,但程序執行時,發現晶振啟動振動失敗,程序在CLK _時鐘開關配置默認設置是無等待狀態,需要修改為1等待狀態。實際上,這部分的內容在數據表中有所反映:在高達24 MHz的較高頻率下使用高速外部時鐘(HSE)時,需要一個等待狀態。這種情況下,器件選項字節應編程為插入該等待狀態。參見數據手冊選項字節部分。設置完成后,下載程序,你會發現晶振已經開始正常振動了。
一般情況下的在設置可編程晶振的時候需要掌握一定的編程技術,因為只有掌握編程技術以后就能夠做好的編程了,這些代碼的僅供參考的,因為不同的可編程晶振可能編輯的方式是不同的,在這些方面要合理的做出自己判斷或者的讓廠家直接的進行設置也是可以的。