WCH沁恒单片机
直播中

李军

7年用户 1231经验值
私信 关注
[问答]

CH32V203的设置问题求解

在研究V203使用时钟的时候,发现了个设置问题。
看手册HSI到PLL是可以选择不分频或者二分频,关于这个分频有两个地方提及,一个是EXTEND_CTR寄存器的bit4,一个是RCC_CFGR0寄存器的bit16,根据 EVT的示例,看出来官方是做了 EXTEN->EXTEN_CTR |= EXTEN_PLL_HSI_PRE;  RCC->CFGR0 |= (uint32_t)(RCC_PLLSRC_HSI_Div2 | RCC_PLLMULL18);  
这里的疑惑是EXTEN_CTR的bit4被置1了,对应为HSI 时钟作为 PLL 输入时钟,后面又写的是RCC_PLLSRC_HSI_Div2,但是手册里相关的位解释是HSI不分频或者2分频送入pll,这里认为解释较为模糊,因为在exten_ctr里并没有使能2分频。

请官方对上述问题阐述一下,并下面相关疑问做一下回复
1、能否给出一个完备的HSI预分频部分的解释或者示例(包括HSI不分频进入PLL和HSI 2分频进入PLL)
2、关于ch32v20x.h文件里 对于PLLSRC的宏定义有歧义,因为只有RCC_PLLSRC_HSI_DIV2和RCC_PLLSRC_HSE,难道这里的意思是使用HSI时 PLLSRC固定为HSI的二分频?
  

回帖(1)

胡少莹

2022-9-15 10:13:02
您好,关于HSI配置所涉及的两个寄存器,如下图,首先通过(RCC_CFGR0)时钟配置寄存器0的位16选择时钟源为HSE还是HSI,当选择时钟源为HSI之后,通过配置扩展控制寄存器(EXTEND_CTR)的位4配置HSI是否分频。关于这两个寄存器具体介绍,可参考CH32V203应用手册。关于HSI分频示例,在我们EVT下有对应例程。此外,关于RCC_PLLSRC_HSI_DIV2的宏定义,要针对其具体的值结合寄存器来看,在工程中,其宏定义的值为0,结合RCC_CFGR0寄存器来看即选择HSI作为时钟源,具体是否分频还要通过配置扩展控制寄存器来配置。我们在参考宏定义时,最好要根据宏定义的值参考对应寄存器来理解

举报

更多回帖

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