STM32
直播中

麦特拉布

12年用户 1074经验值
私信 关注
[问答]

STM32定时器的三种程序执行时有何不同效果

怎样去配置STM32定时器呢?
STM32定时器的三种程序执行时有何不同效果?

回帖(1)

莫联雪

2021-11-16 14:56:45
  配置STM32定时器时,定时器中断使能、定时器使能、清除更新中断标志位,三者不同顺序程序执行时有不同效果,具体如下:
  TIM_ClearITPendingBit(TIM1, TIM_IT_Update); //清除更新中断请求位
  TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE); //使能定时器1更新中断
  TIM_Cmd(TIM1, ENABLE); //启动定时器
  (1)。。。。。。不会立即进入更新中断程序。
  TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位
  TIM_Cmd(TIM1, ENABLE);
  TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断
  (2)。。。。。。不会立即进入更新中断程序。
  TIM_Cmd(TIM1, ENABLE);
  TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位
  TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断
  (3)。。。。。。不会立即进入更新中断程序。
  TIM_Cmd(TIM1, ENABLE);
  TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断
  TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位
  (4)。。。。。。立即进入更新中断程序。
  TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断
  TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位
  TIM_Cmd(TIM1, ENABLE);
  (5)。。。。。。立即进入更新中断程序。
  TIM_ITConfig(TIM1, TIM_IT_Update, ENABLE);//使能定时器1更新中断
  TIM_Cmd(TIM1, ENABLE);
  TIM_ClearITPendingBit(TIM1, TIM_IT_Update);//清除更新中断请求位
  (6)。。。。。。立即进入更新中断程序。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分