/*在文件stm32g4xx_it.c中添加如下代码*/
/* USER CODE BEGIN PV */
extern uint16_t ms;//定义全局变量毫秒
/* USER CODE END PV */
/*找到如下函数*/
void SysTick_Handler(void)
{
/* USER CODE BEGIN SysTick_IRQn 0 */
/* USER CODE END SysTick_IRQn 0 */
HAL_IncTick();
/* USER CODE BEGIN SysTick_IRQn 1 */
ms++;//更新ms
/* USER CODE END SysTick_IRQn 1 */
}
/*在文件main.c中添加如下代码*/
/* USER CODE BEGIN PV */
uint16_t ms=0;//定义毫秒
/* USER CODE END PV */
例如:
while(1){
if(ms==1000)//1s中断,实现LED-PC8闪烁
{
HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_8);
ms=0;
}
}
效果相当于
while(1){
HAL_GPIO_TogglePin(GPIOC,GPIO_PIN_8);
HAL_Delay(1000);
}