想做一个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
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);
               }
         }
               
}

一周热门 更多>