qq444023542 发表于 2022-4-24 14:57

已解决!HK32F0主频设置72M程序跑飞的问题怎么解决?

本帖最后由 qq444023542 于 2022-4-24 20:20 编辑

问题已解决,解决方法往下看!
HK32F030C8T6主频支持72M主频,但是用STM32CUBE生成外部晶振12M主频72M时,调试时发现,刚开始还能运行,越往后就开始出现错乱,然后跑飞了,已经检查电路和晶振没有问题,将主频降到64M正常工作,不知道是哪里问题,有遇到此类问题的你们是怎么解决的?

void SystemClock_Config(void)
{
LL_FLASH_SetLatency(LL_FLASH_LATENCY_1);
while(LL_FLASH_GetLatency() != LL_FLASH_LATENCY_1)
{
}
LL_RCC_HSE_Enable();
   /* Wait till HSE is ready */
while(LL_RCC_HSE_IsReady() != 1)
{
}
LL_RCC_PLL_ConfigDomain_SYS(LL_RCC_PLLSOURCE_HSE_DIV_1, LL_RCC_PLL_MUL_6);
LL_RCC_PLL_Enable();
   /* Wait till PLL is ready */
while(LL_RCC_PLL_IsReady() != 1)
{
}
LL_RCC_SetAHBPrescaler(LL_RCC_SYSCLK_DIV_1);
LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1);
LL_RCC_SetSysClkSource(LL_RCC_SYS_CLKSOURCE_PLL);

   /* Wait till System clock is ready */
while(LL_RCC_GetSysClkSource() != LL_RCC_SYS_CLKSOURCE_STATUS_PLL)
{

}
LL_Init1msTick(72000000);
LL_SetSystemCoreClock(72000000);
}已经解决了,官方答复是FLASH等待周期需要设置一下,延迟加1

既然知道问题那就好办了,打开系统时钟配置,右键LL_FLASH_LATENCY_1跳转

右键延时周期跳转

延迟这里把红框改了,默认是0,我把它给成2就正常了

我遇到的问题也分享给大家,避免大家走弯路!

SDLin 发表于 2022-4-24 18:25

可打打断点,缩小范围、确认跑到哪里引起,然后具体问题具体分析。

qq444023542 发表于 2022-4-24 20:16

SDLin 发表于 2022-4-24 18:25
可打打断点,缩小范围、确认跑到哪里引起,然后具体问题具体分析。

谢谢!已经解决了!

cyclefly 发表于 2022-5-6 11:02

就是加个小延迟?

hearstnorman323 发表于 2022-5-28 14:16

移植stm32的程序有这个问题。

belindagraham 发表于 2022-5-28 15:00

这个是代码不兼容吗

iamaiqiyi 发表于 2022-5-28 15:19

以为是数组溢出了呢

aspoke 发表于 2022-5-28 16:47

72M程序跑飞?

iyoum 发表于 2022-5-28 17:14

感谢楼主分析的解决问题的方案。

belindagraham 发表于 2022-5-28 17:56

手册里面是怎么配置的
页: [1]
查看完整版本: 已解决!HK32F0主频设置72M程序跑飞的问题怎么解决?