21ic问答首页 - HK32F030C8主频无法超过36MHz
HK32F030C8主频无法超过36MHz
sp@cai2021-01-23
原先使用的STM32030C8,代码也是用STM的时标准库写的,直接换航顺的HK32F030C8上去,程序运行到时钟配置时不行了。时钟配置代码:
static void RCC_Configuration(void)
{
u16 i;
RCC_DeInit();
/*使能HSI */
RCC_HSICmd(ENABLE);
/*设置PLL时钟源及倍频系数*/
RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_12); //16MHz(RCC_PLLMul_4),36MHz(RCC_PLLMul_9),48MHz(RCC_PLLMul_12)。
/*使能PLL */
RCC_PLLCmd(ENABLE);
i = 1000;
while((RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) && (--i > 0));
/*设置系统时钟(SYSCLK) */
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
SystemCoreClockUpdate();
}
将RCC_PLLMul_12改为RCC_PLLMul_9或以下时,程序运行正常。RCC_PLLMul_10及以上时程序就不行了。
static void RCC_Configuration(void)
{
u16 i;
RCC_DeInit();
/*使能HSI */
RCC_HSICmd(ENABLE);
/*设置PLL时钟源及倍频系数*/
RCC_PLLConfig(RCC_PLLSource_HSI_Div2, RCC_PLLMul_12); //16MHz(RCC_PLLMul_4),36MHz(RCC_PLLMul_9),48MHz(RCC_PLLMul_12)。
/*使能PLL */
RCC_PLLCmd(ENABLE);
i = 1000;
while((RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET) && (--i > 0));
/*设置系统时钟(SYSCLK) */
RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
SystemCoreClockUpdate();
}
将RCC_PLLMul_12改为RCC_PLLMul_9或以下时,程序运行正常。RCC_PLLMul_10及以上时程序就不行了。
赞0
评论
2021-03-04
赞0
评论
2021-03-03
赞0
评论
2021-03-03
赞0
评论
2021-03-03
赞0
这也,也需要很大的研发及人员实力、物力
评论
2021-03-02
赞0
评论
2021-02-28
赞0
评论
2021-02-24
赞0
Flash读取性能低,访问不能太快
评论
2021-02-20
赞0
评论
2021-02-19
您需要登录后才可以回复 登录 | 注册