打印
[技术问答]

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

[复制链接]
2194|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
本帖最后由 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 | 只看该作者
就是加个小延迟?

使用特权

评论回复
5
hearstnorman323| | 2022-5-28 14:16 | 只看该作者
移植stm32的程序有这个问题。

使用特权

评论回复
6
belindagraham| | 2022-5-28 15:00 | 只看该作者
这个是代码不兼容吗  

使用特权

评论回复
7
iamaiqiyi| | 2022-5-28 15:19 | 只看该作者
以为是数组溢出了呢

使用特权

评论回复
8
aspoke| | 2022-5-28 16:47 | 只看该作者
72M程序跑飞?

使用特权

评论回复
9
iyoum| | 2022-5-28 17:14 | 只看该作者
感谢楼主分析的解决问题的方案。

使用特权

评论回复
10
belindagraham| | 2022-5-28 17:56 | 只看该作者
手册里面是怎么配置的

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

4

帖子

0

粉丝