想做一个5分钟的定时器实现相应功能

2019-07-21 01:05发布

想做一个定时器程序实现数据的反转,但是计算了一下最多能计数为58S左右,怎么改成5分钟后才启动定时器3的中断,请各位大神指点一下 多谢 多谢
void TIM3_IRQHandler(void)   //TIM3中断
{
        if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)
                {
                TIM_ClearITPendingBit(TIM3, TIM_IT_Update );  
                s=!s;
                //TIM_Cmd(TIM3,ENABLE);
                }
               
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
8条回答
warship
1楼-- · 2019-07-21 04:48
本帖最后由 warship 于 2019-5-20 19:20 编辑

真的是活人能被尿憋死啊,
你不会再设一个变量吗?
定时器设计成1秒中断一次就行了。
void TIM3_IRQHandler(void)   //TIM3中断
{
  static u32 My_Delays=300;  //5分钟才300秒而已,这个变量延时几年都行
        if (TIM_GetITStatus(TIM3, TIM_IT_Update) != RESET)
         {                TIM_ClearITPendingBit(TIM3, TIM_IT_Update );  
                if(My_Delays)My_Delays--;
                else {

                My_Delays=300;
                s=!s;
                //TIM_Cmd(TIM3,ENABLE);
               }
         }
               
}

yklstudent
2楼-- · 2019-07-21 07:34
 精彩回答 2  元偷偷看……
www88988
3楼-- · 2019-07-21 10:45
 精彩回答 2  元偷偷看……
风清扬丶
4楼-- · 2019-07-21 13:33
问这个问题的人,绝笔是个人才
七彩旋风
5楼-- · 2019-07-21 19:14
warship 发表于 2019-5-20 18:42
真的是活人能被尿憋死啊,
你不会再设一个变量吗?
定时器设计成1秒中断一次就行了。

多谢您的指点
七彩旋风
6楼-- · 2019-07-21 23:04
yklstudent 发表于 2019-5-20 19:08
10*30=5分钟,10s一个中断,再高一个变量计数30次就是你要的5分钟

问题已经解决了 谢谢您

一周热门 更多>