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

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

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

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

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

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

而通過(guò)PA8輸出的波形,是一個(gè)方波:

以上就是今天的內(nèi)容,小伙伴們還想要了解什么,歡迎評(píng)論區(qū)留言哦。
-
單片機(jī)
+關(guān)注
關(guān)注
6076文章
45495瀏覽量
670357 -
嵌入式
+關(guān)注
關(guān)注
5198文章
20449瀏覽量
334048 -
GD32
+關(guān)注
關(guān)注
7文章
432瀏覽量
27344
發(fā)布評(píng)論請(qǐng)先 登錄
STM32CUBEMX開(kāi)發(fā)GD32F303(8)----USART收發(fā)配置
STM32CUBEMX開(kāi)發(fā)GD32F303(9)----USART通過(guò)DMA收發(fā)
GD32F303 使用PA8輸出內(nèi)部時(shí)鐘頻率#GD32 #時(shí)鐘技術(shù) #MCU #單片機(jī)
【GD32F303】星空派介紹
STM32CUBEMX開(kāi)發(fā)GD32F303(10)----雙ADC輪詢模式掃描多個(gè)通道
STM32CUBEMX開(kāi)發(fā)GD32F303(12)----輸出PWM及修改PWM頻率與占空比
GD32F303固件庫(kù)開(kāi)發(fā)(12)----輸出PWM及修改PWM頻率與占空比
GD32F303固件庫(kù)開(kāi)發(fā)(13)----定時(shí)器TIM捕獲PWM測(cè)量頻率與占空比
AN029 GD32F103程序在GD32F303和GD32F403芯片上運(yùn)行DSP
GD32F303固件庫(kù)開(kāi)發(fā)
STM32CUBEMX開(kāi)發(fā)GD32F303
GD32F303為什么啟動(dòng)慢?
【GD32 MCU 移植教程】2、從 GD32F303 移植到 GD32F503
GD32F303 使用PA8輸出內(nèi)部時(shí)鐘頻率
評(píng)論