成都开发网站,做系统去哪网站下载镜像,想做一个电影网站该怎么做,临海外发加工网STM32定时器中断的使用示例 前言硬件和软件cubemx使能定时器中断中断服务函数案例输出结果 前言
上一篇博客实现了定时器输出pwm#xff0c;这篇接着上次的工程#xff0c;在上次的工程上做简单的配置即可
硬件和软件
硬件使用的是stm32h750vbt6#xff1b;软件用到了stm… STM32定时器中断的使用示例 前言硬件和软件cubemx使能定时器中断中断服务函数案例输出结果 前言
上一篇博客实现了定时器输出pwm这篇接着上次的工程在上次的工程上做简单的配置即可
硬件和软件
硬件使用的是stm32h750vbt6软件用到了stm32cubemx和keil5
cubemx使能定时器中断 勾选打开dma3的中断
中断服务函数案例
在main.c中相应位置添加以下代码
/* USER CODE BEGIN PV */
uint16_t my_tim8_Pulse50;
uint16_t my_tim8_Pulse_max80;
uint16_t my_tim8_Pulse_min20;
uint16_t my_tim8_Pulse_state1;
/* USER CODE END PV *//* USER CODE BEGIN 0 */
//TIM中断服务函数
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{if(htim-Instance htim3.Instance){ if (my_tim8_Pulse_state){my_tim8_Pulse 20;if(my_tim8_Pulse my_tim8_Pulse_max){my_tim8_Pulse_state 0;}}else{my_tim8_Pulse -20;if(my_tim8_Pulse my_tim8_Pulse_min){my_tim8_Pulse_state 1;}}__HAL_TIM_SET_COMPARE(htim8,TIM_CHANNEL_1,my_tim8_Pulse); //修改tim8输出pwm占空比}
}
/* USER CODE END 0 */MAIN函数中 /* USER CODE BEGIN 2 *//* 定时器3通道1输出PWM */HAL_TIM_PWM_Start_IT(htim3,TIM_CHANNEL_1);//占空比百分之50__HAL_TIM_SET_COMPARE(htim3,TIM_CHANNEL_1,12000);/* 定时器8通道1输出PWM */HAL_TIM_PWM_Start_IT(htim8,TIM_CHANNEL_1);/* 定时器8通道1互补输出PWM */HAL_TIMEx_PWMN_Start(htim8, TIM_CHANNEL_1);//占空比百分之50__HAL_TIM_SET_COMPARE(htim8,TIM_CHANNEL_1,50);//使能定时器更新中断和开启定时器计数HAL_TIM_Base_Start_IT(htim3); /* USER CODE END 2 */这一句很重要开启定时器计数
输出结果
可以看到在每次TM3溢出后触发中断改变TIM8输出PWM的占空比