求GD32F130C6T6使用16M晶振的时钟配置

[复制链接]
1281|10
 楼主| ycb83523 发表于 2022-3-4 21:52 | 显示全部楼层 |阅读模式
我使用的是GD32F130C6T6芯片,晶振用的是16M,但是不管怎么配置时钟始终有问题,延时均使用官方例程,无论如何delay_1ms(1000) 也不能达到1秒延时,只能延时500,且非常不准,请教大神该如何配置
配置如下,设置晶振为16M
#define HXTAL_VALUE    ((uint32_t)16000000)

启用的是48M
#define __SYSTEM_CLOCK_72M_PLL_HXTAL         (uint32_t)(48000000)

分频配置如下
RCU_CFG0 |= RCU_AHB_CKSYS_DIV1;
RCU_CFG0 |= RCU_APB2_CKAHB_DIV1;
RCU_CFG0 |= RCU_APB1_CKAHB_DIV1;
RCU_CFG0 &= ~(RCU_CFG0_PLLSEL | RCU_CFG0_PLLMF | RCU_CFG0_PLLDV);
RCU_CFG0 |= (RCU_PLLSRC_HXTAL | RCU_PLL_MUL6);
呐咯密密 发表于 2022-3-7 10:22 | 显示全部楼层
本帖最后由 呐咯密密 于 2022-3-7 11:07 编辑

例程用的晶振是8M,所以倍频器使用RCU_PLL_MUL6达到48M,如果你将晶振修改成16M,那么在分频器中就需要将输入时钟进行二分频,而你的代码中未作任何设置,这就导致你的主频已经达到了96M,你的延时自然就打了个对折,可将你贴出的代码最后一行修改成如下:
RCU_CFG0 |= (RCU_PLLSRC_HXTAL | RCU_PLLPREDV_DIV2 | RCU_PLL_MUL6);

评论

大佬厉害啊,感谢感谢,被这些宏整懵了  发表于 2022-8-7 21:17
单片小菜 发表于 2022-3-7 10:59 | 显示全部楼层
直接分频就可以了,不用购买新的吧。
tpgf 发表于 2022-4-2 15:27 | 显示全部楼层
有这个分频系数吗
木木guainv 发表于 2022-4-2 15:39 | 显示全部楼层
这是一个整倍数
磨砂 发表于 2022-4-2 15:47 | 显示全部楼层
这个应该分频还是倍频啊
晓伍 发表于 2022-4-2 16:00 | 显示全部楼层
可以换晶振吗
八层楼 发表于 2022-4-2 16:11 | 显示全部楼层
这个很容易做到
观海 发表于 2022-4-2 16:15 | 显示全部楼层
直接六倍频了
观海 发表于 2022-4-2 16:23 | 显示全部楼层
突然想问问  有几种六倍频的方式呢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

7

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部
0