[STM32F1] STM32 STM32定时中断可以处理 多少个函数

[复制链接]
2833|9
 楼主| 电子过客 发表于 2016-4-21 22:53 | 显示全部楼层 |阅读模式
项目涉及 50多个定时,秒级别延时,目前想到的办法,设置1个定时器1s的中断
中断处理中例如,
/*定时器   */
void TIM3_IRQHandler(void)
{        

                if ( TIM_GetITStatus(TIM3 , TIM_IT_Update) != RESET )
        {        


                  if(Warning_Htemper_T==1)  //报警高温室内定时时间标志

                    {

                                     if( Warning_Htemper_time==0)

                                        {  Warning_Htemper_time=0; }

                                    else

                                       {  Warning_Htemper_time--; }

                }

            if(Warning_Ltemper_T==1)       //报警低温温室内定时时间标志允许标志

                  {

                          if( Warning_Ltemper_time==0)

                          {    Warning_Ltemper_time=0; }

                       else

                     {  Warning_Ltemper_time--; }


             }



          if(Warning_Hhum_T==1)       //报警高湿室内定时时间标志允许标志

                  {                 
                           if(  Warning_Hhum_time==0)

                             {  Warning_Hhum_time=0; }

                        else

                         {   Warning_Hhum_time--; }


           }


         if(Warning_Lhum_T==1)       //报警低湿室内定时时间标志允许标志

          {

                     if(  Warning_Lhum_time==0)

                          {  Warning_Lhum_time=0; }

                  else

                         {  Warning_Lhum_time--;   }        

           }               
                等等很多定时标志定时,  可以每个标志写个小函数,
             这样50 多个会不会有漏掉的函数啊                        

                        TIM_ClearITPendingBit(TIM3 , TIM_FLAG_Update);

        }


}
或有什么好的解决办法

xyz549040622 发表于 2016-4-21 23:12 | 显示全部楼层
都是判断标志的话,不会占用多少时间的。
 楼主| 电子过客 发表于 2016-4-22 09:18 | 显示全部楼层
xyz549040622 发表于 2016-4-21 23:12
都是判断标志的话,不会占用多少时间的。

多谢提示
lxyppc 发表于 2016-4-22 10:07 来自手机 | 显示全部楼层
最好不要这样写
维护起来麻烦
xuander 发表于 2016-4-22 11:05 | 显示全部楼层

在中断里写这么多处理函数,是编程的大忌。

中断应当只加一,
然后在main函数里判断大小。


309030106 发表于 2016-4-22 11:34 | 显示全部楼层
中断里产生标志,在main函数做处理
tototm 发表于 2016-4-22 13:42 来自手机 | 显示全部楼层
中断最好快点少处理,主要事情都主函数来处理
ticomi 发表于 2016-4-22 13:55 | 显示全部楼层
中断中设置标志位,然后快速退出中断,在主任务中处理中断标志位的事情。
杨爱林林 发表于 2016-4-22 15:46 | 显示全部楼层
这样的if else不占用什么时间  
不过还是建议建立关联任务
lefeng 发表于 2016-4-22 20:09 | 显示全部楼层
中断里处理函数多,会跑飞
您需要登录后才可以回帖 登录 | 注册

本版积分规则

55

主题

210

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部