WCH沁恒单片机
直播中

学电超人

12年用户 786经验值
擅长:微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制 微处理器/微控制
私信 关注
[问答]

CH32V208时钟分频参数会关系到pll的结果吗?

在设置v208时钟的时候发现了一个很奇怪的问题,在官方sdk的SetSysClockTo120_HSE(void)函数中,如果屏蔽掉RCC->CFGR0 |= (uint32_t)(3<<22); rcc-="">CFGR0 |= (uint32_t)(3<<22); 的时候,mco输出是120m,通过查阅手册发现bit[23:22]是设置USBFS/USBOTG 时钟分频的,请问这个分频参数会关系到pll的结果吗?

对于这个11 我的理解是:需要先把pll开到240m,即16m*15倍频,然后使用usb的时候需要设置五分频,但是现在的问题是,我已经开到了16m*15倍频,但是不置位11的话,pll的实际时钟只有120m,到不了240m。
  

回帖(1)

刘洋

2022-10-18 09:36:59
关于你的第一个疑问,当你屏蔽掉RCC->CFGR0 |= (uint32_t)(3<<22); rcc-="">CFGR0 |= (uint32_t)(3<<22);这两行代码之后,在RCC配置完成之后将RCC_CFGR0寄存器的值打印出来为0x35040a,,位17默认为0,HSE 4分频进入PLL,如下图。即sysclk大小为32/4*15=120MHz,MCO输出120MHz。当注释掉这两行代码,HSE会按照位17默认配置进行4分频;
关于你的第二个问题,当不注释掉这两行代码的时候,sysclk打印输出即MCO引脚输出都是240MHz,我这边测试都是没问题的,如下图2。测试的时候注意示波器的采样率不要低于所测量的数值。否则会测试不准,采样率最好大于240MHz.

图1

图2
举报

更多回帖

发帖
×
20
完善资料,
赚取积分