嵌入式技术论坛
直播中

王利祥

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

使用RT-thread studio 创建STM32F103工程后,将HSI改为HSE时的疑问求解

如下图,使用RT-thread studio 创建STM32F103工程后,准备将HSI 改为HSE 时,发现一个问题,

为什么F103 系列对应的RCC PLLMUL 是 16, 不应该是9吗?

#if defined(STM32F100xB) || defined(STM32F100xE)
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL6;
#endif
#if defined(STM32F101x6) || defined(STM32F101xB) || defined(STM32F101xE) || defined(STM32F101xG)
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
#endif
#if defined(STM32F102x6) || defined(STM32F102xB)
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL12;
#endif
#if defined(STM32F103x6) || defined(STM32F103xB) || defined(STM32F103xE) || defined(STM32F103xG)
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL16;
#endif
#if defined(STM32F105xC) || defined(STM32F107xC)
RCC_OscInitStruct.PLL.PLLMUL = RCC_PLL_MUL9;
#endif
1.png

回帖(2)

kasdlak

2023-9-3 10:54:33
RCC_PLLConfig(RCC_PLLSource_HSI_Div2,RCC_PLLMul_16);
/*设置PLL时钟源及倍频系数,频率为8/2 x16=64Mhz*/
举报

旧念

2023-10-7 11:30:34
在STM32F103系列中,RCC_PLLMUL的取值范围为2~16,因此可以设置为16,而不是9。这是因为在STM32F103芯片中支持更高的系统时钟频率,因此需要更高的PLL倍频系数。在修改时应该根据具体的硬件设计需求进行选择。
举报

更多回帖

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