GD32官方提供的固件庫中使用的晶振配置一般為8M或25M,如果讀者使用其他頻率的晶振如何修改配置呢?本文為大家講解如何修改。
以GD32F303為例,官方固件庫中的晶振及時鐘配置代碼如下,改配置代碼為使用外部8M晶振倍頻到120M時鐘。
![wKgZomWctHOAc9DFAAEbAReqY4w951.png](http://file1.elecfans.com/web2/M00/BB/A0/wKgZomWctHOAc9DFAAEbAReqY4w951.png)
在此我們舉例,若外部晶振使用16M該如何配置,主要修改以下兩點:
修改HXTAL_VALUE為16M,如下紅色底紋部分。
#if !defined HXTAL_VALUE #ifdef GD32F30X_CL #define HXTAL_VALUE ((uint32_t)25000000) /*!< value of the external oscillator in Hz */ #else #define HXTAL_VALUE ((uint32_t)16000000) /* !< from 4M to 32M *!< value of the external oscillator in Hz*/ #endif /* HXTAL_VALUE */ #endif /* high speed crystal oscillator value */
修改時鐘倍頻到120M.如下紅色底紋部分,配置15倍頻,計算公式為16M/2*15=120M.
/* select HXTAL/2 as clock source */ RCU_CFG0 &= ~(RCU_CFG0_PLLSEL | RCU_CFG0_PREDV0); RCU_CFG0 |= (RCU_PLLSRC_HXTAL_IRC48M | RCU_CFG0_PREDV0); /* CK_PLL = (CK_HXTAL/2) * 15 = 120 MHz */ RCU_CFG0 &= ~(RCU_CFG0_PLLMF | RCU_CFG0_PLLMF_4 | RCU_CFG0_PLLMF_5); RCU_CFG0 |= RCU_PLL_MUL15;
PS:GD固件庫中修改使用內部時鐘非常方便,只要打開內部時鐘的宏定義就可以啦。
/* select a system clock by uncommenting the following line */ /* use IRC8M */ //#define __SYSTEM_CLOCK_IRC8M (uint32_t)(__IRC8M) //#define __SYSTEM_CLOCK_48M_PLL_IRC8M (uint32_t)(48000000) //#define __SYSTEM_CLOCK_72M_PLL_IRC8M (uint32_t)(72000000) //#define __SYSTEM_CLOCK_108M_PLL_IRC8M (uint32_t)(108000000) //#define __SYSTEM_CLOCK_120M_PLL_IRC8M (uint32_t)(120000000)
-
晶振
+關注
關注
34文章
2899瀏覽量
68311 -
編程
+關注
關注
88文章
3637瀏覽量
93981 -
GD32
+關注
關注
7文章
413瀏覽量
24468 -
gd32f303
+關注
關注
4文章
38瀏覽量
3718
發布評論請先 登錄
相關推薦
![](https://file1.elecfans.com/web2/M00/BB/A3/wKgZomWcuWSAAd9LAAq1__QmNQY335.png)
FAQ0093 AT32更換外部晶振后BSP修改方法
使用外部晶振的方案配置RTC
STM32芯片和GD芯片修改外部晶振的方法是什么
關于STM32 RTC時鐘使用內部/外部晶振的切換方法
![關于STM32 RTC時鐘使用內部/外部<b class='flag-5'>晶</b><b class='flag-5'>振</b>的切換方法](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
stm32F4修改時鐘頻率,更換為8MHz晶振
![stm32F4<b class='flag-5'>修改</b>時鐘頻率,更換為8MHz<b class='flag-5'>晶</b><b class='flag-5'>振</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32芯片和GD芯片修改外部晶振的方法
![STM32芯片和GD芯片<b class='flag-5'>修改</b>外部<b class='flag-5'>晶</b><b class='flag-5'>振</b>的方法](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32外部晶振更換,程序修改指南
![STM32外部<b class='flag-5'>晶</b><b class='flag-5'>振</b>更換,程序<b class='flag-5'>修改</b>指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
STM32F10x 更改外部晶振后,修改時鐘頻率的方法
![STM32F10x <b class='flag-5'>更改</b>外部<b class='flag-5'>晶</b><b class='flag-5'>振</b><b class='flag-5'>后</b>,<b class='flag-5'>修改</b>時鐘頻率的方法](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論