问答

汇集网友智慧,解决技术难题

21ic问答首页 - 已解决!HK32F0主频设置72M程序跑飞的问题怎么解决?

国产芯片 单片机 嵌入式 技术交流

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

qq4440235422022-04-24
本帖最后由 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就正常了

我遇到的问题也分享给大家,避免大家走弯路!
回答 +关注 5
2207人浏览 9人回答问题 分享 举报
9 个回答

您需要登录后才可以回复 登录 | 注册