如何使用一个定时器,分别统计两个输入值的输入时间?

2019-08-22 14:50发布

假设MCU只有一个100ms中断一次的定时器可以使用,现在有两个输入信号single1,single2同时进行输入,每个输入值的取值为0或1
现在的问题:
1.对于每个输入,当输入值为1时开始计时,统计10s内输入值为1的个数?
2.对于每个输入,检测到输入值为1时开始计时,10s后打印一句话至串口,同时停止计时。
对于上述两个问题,应该如何处理?不使用实时操作系统。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
hechuanxi0312
2019-08-23 05:53
东北小辉辉 发表于 2017-4-8 15:16
想了一下,楼主要检测的,其实不是10s内输入1的个数,应该是10s内signal出现上升沿的个数,这个检测方式, ...

其实情况是这样:
一个串口会周期100ms发送两个信号值至MCU,一个信号值如果收到的值为1,那么开始计时,如果10s内这个信号值一直为1,那么输入一个控制信号;另外一个信号值如果收到的值为1,那么开始计时,统计5s内这个信号值为1的次数,并打印;
因为现在只有一个定时器可以使用,定时周期为100ms,统计允许有误差。这两个信号值是需要一直监控的,所以这个定时器不能由某个信号独占,

一周热门 更多>