HAL_Delay()进入无限循环

时间:2017-03-18 09:35:21

标签: keil hal

我正在使用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;
}




非常感谢

1 个答案:

答案 0 :(得分:0)

默认情况下,HAL_Delay依赖于Systick。因此,请确保Systick的配置正确(包括启用中断)和系统时钟。