2017-03-18 171 views
0

我正在使用Stm32f429發現,並且在我的閃爍項目中使用HAL_Delay()時出現問題。當我的程序想要執行HAL_Delay時,它會在無限循環中搜索。但是如果我創建了我的項目使用CubeMX和我複製我的代碼在那裏它正常工作。問題是什麼? 這裏是我的代碼:HAL_Delay()進入無限循環

#include "stm32f4xx_hal.h" 
 

 
int main() 
 
{ 
 
\t HAL_Init(); 
 
\t __HAL_RCC_GPIOG_CLK_ENABLE(); 
 
\t GPIO_InitTypeDef a; 
 
\t a.Pin = GPIO_PIN_13 | GPIO_PIN_14; 
 
     a.Mode = GPIO_MODE_OUTPUT_PP; 
 
\t HAL_GPIO_Init(GPIOG, &a); 
 
\t while(1) 
 
\t { 
 
\t \t HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_SET); 
 
\t \t HAL_Delay(100); 
 
\t \t HAL_GPIO_WritePin(GPIOG, GPIO_PIN_14, GPIO_PIN_RESET); 
 
\t \t HAL_Delay(100); 
 
\t } 
 
\t return 0; 
 
}

非常感謝您

回答

0

HAL_Delay默認情況下依靠SYSTICK。所以確保你有一個正確的Systick配置(包括啓用中斷)和系統時鐘。