打印
[STM32F1]

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

[复制链接]
2576|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 | 只看该作者
最好不要这样写
维护起来麻烦

使用特权

评论回复
5
xuander| | 2016-4-22 11:05 | 只看该作者

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

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


使用特权

评论回复
6
309030106| | 2016-4-22 11:34 | 只看该作者
中断里产生标志,在main函数做处理

使用特权

评论回复
7
tototm| | 2016-4-22 13:42 | 只看该作者
中断最好快点少处理,主要事情都主函数来处理

使用特权

评论回复
8
ticomi| | 2016-4-22 13:55 | 只看该作者
中断中设置标志位,然后快速退出中断,在主任务中处理中断标志位的事情。

使用特权

评论回复
9
杨爱林林| | 2016-4-22 15:46 | 只看该作者
这样的if else不占用什么时间  
不过还是建议建立关联任务

使用特权

评论回复
10
lefeng| | 2016-4-22 20:09 | 只看该作者
中断里处理函数多,会跑飞

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

54

主题

205

帖子

2

粉丝