微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 利用定时器更新多个传感器的状态,定时器溢出问题。

利用定时器更新多个传感器的状态,定时器溢出问题。

时间:10-02 整理:3721RD 点击:

各位大虾,麻烦各位看看我该如何修改这段代码。
void test(void)
{
    static u16 time =0;  
    if (time != realtime0)                                              // 由PIT模块生成 至少1ms成立
   {        
         GetSensorData();                                                // 获取传感器的状态
         if(RV4S==0)CountofRV4S +=realtime0- time; else CountofRV4S=0;   // RV4S传感器状态改变计时                    .... // 还有多个传感器的计时
         time = realtime0 ;
   }
}        
       我本意是在利用一个ms的定时器,每隔1ms或者几个ms我就更新一次传感器的状态,并且对状态的改变计时。但有可能上次 time = 65533 ,下次再进这个语句时 realtime已经溢出归零了 ,那么 A就会变为负值了。请问怎么解决这个溢出的问题啊,谢谢!


先判断一下if(realtime0<time)则A=realtime0+65535-time

感谢你的回答,问题已解决,思路和你这个差不多。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top