前面給小伙伴介紹過串口發(fā)送和接收異常可能的一些原因,其中就有說到時鐘頻率對于異步通訊的重要性。而我們通過程序去配置的時鐘都是理論值,那如果想要獲得內部一些時鐘頻率的實際值,需要怎樣做呢?今天,我們以GD32F303為例來教大家如何通過PA8口輸出內部時鐘頻率(有些GD32系列不一定是使用PA8口,小伙伴們需要自行查找資料確認)。
首先我們來看下GD32F303的時鐘樹:
其中左下角的位置有一個CK_OUT0的鏈接圖:
根據圖示,我們看到通過CK_OUT0可以將系統(tǒng)時鐘(CK_SYS)、內部高速晶振(CK_IRC8M)、外部晶振(CK_HXTAL)以及PLL的二分之一頻率輸出出來,實際上,CK_OUT0就是PA8引腳,我們來看下GD32F303 Datasheet中的管腳定義:
可以看到PA8口的一個Alternate類型功能為CK_OUT0,所以我們需要配置PA8為復用類型。
另外在庫文件gd32f30x_rcu.c中定義了時鐘輸出函數rcu_ckout0_config,在函數注釋中已經將可調用的參數列出,但需要注意,紅色方框以外的參數僅可用于GD32F305/307即互聯(lián)型(CL)產品,小伙伴們可以自行查看GD32F30x系列HD和CL產品系列時鐘樹的不同哦。
好,了解到以上內容,使用輸出PA8口輸出內部時鐘頻率就很簡單了,比如想要實現(xiàn)PA8輸出外部高速晶振的頻率,可以編寫程序如下:
將這段程序下載到GD32F303開發(fā)板上,使用示波器測量PA8口,就能測量到外部高速晶振的頻率啦。
這里需要說一下,外部高速晶振起振后,是一個正弦波
而通過PA8輸出的波形,是一個方波:
以上就是今天的內容,小伙伴們還想要了解什么,歡迎評論區(qū)留言哦。
-
單片機
+關注
關注
6037文章
44558瀏覽量
635400 -
嵌入式
+關注
關注
5082文章
19126瀏覽量
305296 -
GD32
+關注
關注
7文章
403瀏覽量
24355
發(fā)布評論請先 登錄
相關推薦
評論