https://bbs.21ic.com/icview-3284892-1-1.html
【目的】用定时器1每1秒翻转一次LED【开发环境】MacOS+STM32CubeIDE
【硬件】NUCLEO-U575ZI-Q开发板
【步聚】
1、配置定时器
2、添加用户TIM1中断启用与中断回调函数
3、添加定时器中断函数对LED灯的翻转。
【具体过程】
1、打开TIM配置界面,按下图所示配置:
2、进入中断配置界面启用中断:
3、保存后重新生成代码,进入tim.c。添加如下代码:
在void MX_TIM1_Init(void)函数后面沙漏中添加启动中断
/* USER CODE BEGIN TIM1_Init 2 */ HAL_TIM_Base_Start_IT(&htim1); /* USER CODE END TIM1_Init 2 */ 在最后插入中断溢出翻转BLUE—LED的代码: /* USER CODE BEGIN 1 */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
if(htim->Instance==TIM1)
{
HAL_GPIO_TogglePin(LED_BLUE_GPIO_Port, LED_BLUE_Pin);//电平翻转
}
}
/* USER CODE END 1 */
4、保存后编译下载到开发板。可以看开发板的蓝色LED按1秒的频率闪烁。 【小结】本次使用STM32U575的定时器进行对外设进行控制。定时器是必须掌的外设之一。
|