0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

更改晶振后如何修改配置?

聚沃科技 2024-01-09 10:10 次阅读

GD32官方提供的固件库中使用的晶振配置一般为8M或25M,如果读者使用其他频率的晶振如何修改配置呢?本文为大家讲解如何修改。

以GD32F303为例,官方固件库中的晶振及时钟配置代码如下,改配置代码为使用外部8M晶振倍频到120M时钟。

wKgZomWctE-AEmzFAACI-gWyQRs849.png

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)

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 晶振
    +关注

    关注

    32

    文章

    2473

    浏览量

    66850
  • 编程
    +关注

    关注

    88

    文章

    3440

    浏览量

    92389
  • GD32
    +关注

    关注

    7

    文章

    333

    浏览量

    23740
  • gd32f303
    +关注

    关注

    4

    文章

    37

    浏览量

    3593
收藏 人收藏

    评论

    相关推荐

    更改如何修改配置?#MCU #GD32 #单片机 #

    mcu
    聚沃科技
    发布于 :2024年01月09日 11:12:32

    配置电容

    本帖最后由 gk320830 于 2015-3-7 13:28 编辑 配置电容的关系是什么?如何选择相应的配置电容?求高手大牛解答
    发表于 11-30 17:25

    【CANNON试用体验】选用及参数修改记录

    抛砖引玉的作用吧!以后,只要在的允许范围内就可以对照 修改。具体见附件:此修改后,经过串口通信收发实验,完全可用。
    发表于 02-18 11:00

    pic外部配置

    我在用pic16f1937,我想用外部的8M设置定时器,但通过计算,感觉一直在用内部最高32M,我在配置字中选择了HS,但不知道怎么
    发表于 03-20 08:14

    mbed 在哪配置

    mbed在哪配置
    发表于 11-22 17:19

    外部与内部频率一致,串口收发异常

    1、使用内部8M配置为 HSI_DIV2,PLLMULL16,系统频率64M,串口收发正常。2、使用外部16M
    发表于 12-10 17:57

    和电容的配置关系是什么

    哪位大侠知道和电容的配置关系啊,比如13M的要怎么配电容啊?
    发表于 05-27 05:55

    FAQ0093 AT32更换外部BSP修改方法

    本帖最后由 贪玩 于 2022-5-10 19:44 编辑 FAQ0093 AT32更换外部BSP修改方法Questions:AT32 工程项目在采用非 8M 外部
    发表于 02-19 21:23

    STM32F103修改频率

    STM32F103:A.:-外部高速:8MHz ==可修改,system_stmf1XX.c和 "stm32f1xx.h"中
    发表于 08-05 07:47

    使用外部的方案配置RTC

    环境:Stm32CubeMXV5.6.0stm32F412RETx芯片,芯片的VBAT引脚接电池RTC使用的外部,内部的振荡器配置断电
    发表于 08-09 09:35

    STM32为什么配置外接有源

    的外接有源。因此,在编程当中,就得对之前的代码模板进行修改,不然便无法使用。如果不对源码进行修改的话,你可以对其进行调试,最后显示出,其一直在下面画出的那个函数里面循环,意思是,其
    发表于 08-10 06:32

    STM32芯片和GD芯片修改外部的方法是什么

    24M,则修改HSE_VALUE的值,将其改为24M,当然其他的大小也是同样的修改方法:2、然后在System_stm32f0xx.c文件中,
    发表于 08-10 06:06

    stm32外部时钟源8M如何修改成12M

    stm32外部时钟源8M换成12M程序修改说明▼标签: stm32外部时钟源8m
    发表于 08-12 08:30

    如何修改STM32外部的频率呢

    用库函数开发STM32的时候不知道如何修改系统主频?不知道如何修改外部频率?[td][/td]
    发表于 10-26 06:28

    FAQ0093更换外部BSP修改方法

    更换外部BSP修改方法AT32 工程项目在采用非8M 外部时,如何在BSP 中进行
    发表于 10-20 06:41