HAL_Delay 无法与 STM32F746-DISCO 一起正常工作

问题描述 投票:0回答:0

调用HAL_Delay函数时,处理器(STM32F746NG-DISCO)卡在HAL_delay函数中。我尝试更改 HAL_Delay() 函数进行调试,如下所示

__weak void HAL_Delay(uint32_t Delay)
{
  uint32_t tickstart = HAL_GetTick();
  uint32_t wait = Delay;

  /* Add a freq to guarantee minimum wait */
  if (wait < HAL_MAX_DELAY)
  {
    wait += (uint32_t)(uwTickFreq);
  }
  uint32_t tickEnd = HAL_GetTick();
  while ((tickEnd - tickstart) < wait)
  {
  }
}

调试时变量 tickEnd 没有更新,如下所示。

如上所示,tickEnd 始终设置为

<optimized out>
。代码是使用touchGFX生成的,它使用TIM6作为系统基准时钟,最初应用程序运行正常,我不确定这个问题的根源,有人能帮我弄清楚吗。

NVIC:

hal stm32f7
© www.soinside.com 2019 - 2024. All rights reserved.