前面給小伙伴介紹過串口發(fā)送和接收異常可能的一些原因,其中就有說到時鐘頻率對于異步通訊的重要性。而我們通過程序去配置的時鐘都是理論值,那如果想要獲得內(nèi)部一些時鐘頻率的實際值,需要怎樣做呢?今天,我們以GD32F303為例來教大家如何通過PA8口輸出內(nèi)部時鐘頻率(有些GD32系列不一定是使用PA8口,小伙伴們需要自行查找資料確認)。
首先我們來看下GD32F303的時鐘樹:

其中左下角的位置有一個CK_OUT0的鏈接圖:

根據(jù)圖示,我們看到通過CK_OUT0可以將系統(tǒng)時鐘(CK_SYS)、內(nèi)部高速晶振(CK_IRC8M)、外部晶振(CK_HXTAL)以及PLL的二分之一頻率輸出出來,實際上,CK_OUT0就是PA8引腳,我們來看下GD32F303 Datasheet中的管腳定義:

可以看到PA8口的一個Alternate類型功能為CK_OUT0,所以我們需要配置PA8為復(fù)用類型。
另外在庫文件gd32f30x_rcu.c中定義了時鐘輸出函數(shù)rcu_ckout0_config,在函數(shù)注釋中已經(jīng)將可調(diào)用的參數(shù)列出,但需要注意,紅色方框以外的參數(shù)僅可用于GD32F305/307即互聯(lián)型(CL)產(chǎn)品,小伙伴們可以自行查看GD32F30x系列HD和CL產(chǎn)品系列時鐘樹的不同哦。

好,了解到以上內(nèi)容,使用輸出PA8口輸出內(nèi)部時鐘頻率就很簡單了,比如想要實現(xiàn)PA8輸出外部高速晶振的頻率,可以編寫程序如下:

將這段程序下載到GD32F303開發(fā)板上,使用示波器測量PA8口,就能測量到外部高速晶振的頻率啦。
這里需要說一下,外部高速晶振起振后,是一個正弦波

而通過PA8輸出的波形,是一個方波:

以上就是今天的內(nèi)容,小伙伴們還想要了解什么,歡迎評論區(qū)留言哦。
-
單片機
+關(guān)注
關(guān)注
6065文章
44934瀏覽量
647655 -
嵌入式
+關(guān)注
關(guān)注
5143文章
19561瀏覽量
315473 -
GD32
+關(guān)注
關(guān)注
7文章
419瀏覽量
25214
發(fā)布評論請先 登錄
STM32CUBEMX開發(fā)GD32F303(8)----USART收發(fā)配置

STM32CUBEMX開發(fā)GD32F303(9)----USART通過DMA收發(fā)


GD32F303 使用PA8輸出內(nèi)部時鐘頻率#GD32 #時鐘技術(shù) #MCU #單片機
【GD32F303】星空派介紹
STM32CUBEMX開發(fā)GD32F303(10)----雙ADC輪詢模式掃描多個通道

STM32CUBEMX開發(fā)GD32F303(12)----輸出PWM及修改PWM頻率與占空比

GD32F303固件庫開發(fā)(12)----輸出PWM及修改PWM頻率與占空比

GD32F303固件庫開發(fā)(13)----定時器TIM捕獲PWM測量頻率與占空比

AN029 GD32F103程序在GD32F303和GD32F403芯片上運行DSP

GD32F303固件庫開發(fā)

GD32F303為什么啟動慢?

【GD32 MCU 移植教程】2、從 GD32F303 移植到 GD32F503

評論