几个报警同时发生,怎么判断最先发生的那个?

2019-08-21 13:14发布

求助: 各位兄弟姐妹们,现在是这样的,这里有一个系统,同时发生了几个报警,如:低压报警,温度报警,水流量报警等,一起发生了。我应该如何判断最先发生的那个报警?
现在,代码是,有一个变量U32 Aralm 这个变量的每一位是用来保存报警信号的,如低压报警发生,bit0 = 1。 温度报警 bit1 = 1.水流量报警,bit2 = 1.等等依次下去,有10多个报警标志位。
我在LCD中显示的时候,就通过查这个变量Aralm的哪一个位 置一了 就显示那个报警,可是,问题来了,如果很多报警都发生了,我应该怎么判断最先发生的那个,然后我在LCD中在显示出来。。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
15条回答
xiedonghui258
1楼-- · 2019-08-22 08:37
操作系统 发表于 2017-4-12 21:13
明明说是同时报警,哪里有先后之分呢.如果是有先后之分,怎么会是同时有报警呢.好矛盾的问题.

额,兄弟。首先感谢你的回答,可能是我表达的不太准确,抱歉,我的意思是,假如有一个温度报警发生了,而发生报警后切段了电源,这个时候就会检测到低压报警,所以就会产生2个报警。可是,报警的时候只是这个标志位中的某一个位BIT 置1了。显示的时候却不知道那个报警先发生的。所以在这里向各位大神指点。。谢谢!
xiedonghui258
2楼-- · 2019-08-22 14:36
来俩不甜的 发表于 2017-4-12 21:13
2个报警发生间隔是多少,你读取的时间间隔比这个要小。这样每次读取若发生报警则有且仅有一个置位

我2个报警的间隔好小,可能MS级别,
来俩不甜的
3楼-- · 2019-08-22 15:42
 精彩回答 2  元偷偷看……
操作系统
4楼-- · 2019-08-22 17:54
xiedonghui258 发表于 2017-4-13 08:35
我2个报警的间隔好小,可能MS级别,

MS级别不算什么,玩过正交编码器吗?那发过来的信号才叫快呢.还不是要去分析.所以一开始我就说了,是同时的发生的.哪里有先后,有了先后怎么可能同时发生呢.看来还是你的程序不够快呀
d1z1y2
5楼-- · 2019-08-22 22:17
根据实际使用中的场景来定义,这是产品设计思路的问题,不是程序问题
xiedonghui258
6楼-- · 2019-08-23 01:14
d1z1y2 发表于 2017-4-13 12:25
根据实际使用中的场景来定义,这是产品设计思路的问题,不是程序问题

兄弟,这个怎么理解?能说的详细点吗?万分感谢。

一周热门 更多>