我正在使用Stm32f429发现,我在我的闪烁项目中遇到了使用HAL_Delay()的问题。当我的程序想要执行HAL_Delay时,它会陷入无限循环。但如果我使用CubeMX创建我的项目并且我复制我的代码在那里它正常工作。问题是什么? 这是我的代码:
#include "stm32f4xx_hal.h"
int main()
{
HAL_Init();
__HAL_RCC_GPIOG_CLK_ENABLE();
GPIO_InitTypeDef a;
a.Pin = GPIO_PIN_13 | GPIO_PIN_14;
a.Mode = GPIO_MODE_OUTPUT_PP;
HAL_GPIO_Init(GPIOG, &a);
while(1)
{
HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_SET);
HAL_Delay(100);
HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_RESET);
HAL_Delay(100);
}
return 0;
}

非常感谢
答案 0 :(得分:0)
默认情况下,HAL_Delay依赖于Systick。因此,请确保Systick的配置正确(包括启用中断)和系统时钟。