/* USER CODE BEGIN 2 */
HAL_TIM_Base_Start_IT(&htim2); \\启动TIM2中断
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_1);\\启动TIM1的PWM1
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_2);\\启动TIM1的PWM2
HAL_TIM_PWM_Start(&htim1,TIM_CHANNEL_3);\\启动TIM1的PWM3
/* USER CODE END 2 */
之后再在main.c中的/* USER CODE BEGIN PV */部分定义全局变量stat,中断需要使用
/* USER CODE BEGIN PV */
/* Private variables ---------------------------------------------------------*/
uint8_t stat=0;
/* USER CODE END PV */
改完main.c文件后打开tim.c,在最下方的用户代码1部分添加如下TIM2中断回调函数:
/* USER CODE BEGIN 1 */
void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim)
{
extern uint8_t stat;
if (htim->Instance == TIM2)
{
if (stat==0) stat=1; \\改变状态
else stat=0;