和你挤公交 发表于 2017-11-22 16:42:35

stm32用一个定时器实现两个不同时间

stm32用一个定时器定时两个不同时间该怎么实现?假设我配置定时时间是一秒,在中断中设置一个变量t,进一次中断t+1,若t=10,清零,证明10s到了;如果再想要个3s的时间该怎么办?希望给点思路

feiteng0814 发表于 2018-1-30 19:50:45

1. 可以使用System_tick的方式,发出1ms的中断,然后再中断中减减,当时间到了之后,置位task的任务。(1)在主程序中初始化

(2) 增加中断

(3) 时间到了之后,进task

yu0405jie 发表于 2018-1-30 21:14:18

用两个变量啊;P;P;P

努力的人 发表于 2018-1-31 10:01:45

你现在有一个时基为1s,那么你定义了变量n,在中断中每中断一次n加1,然后你写

void TIMx_IRQhandle()
{
    n++;
    if(n==3)
   {
          //3s中断处理部分
      }
    if(n==10)
   {
          //10s中断处理部分
   n=0;
      }
}

qiu4466 发表于 2018-3-19 09:36:24

通过CAN通讯实现的吗
页: [1]
查看完整版本: stm32用一个定时器实现两个不同时间