找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1471|回复: 10
收起左侧

关于单片机C语言多故障检测思路

[复制链接]
ID:997026 发表于 2022-11-12 22:25 | 显示全部楼层 |阅读模式
大家好,
最近做一个项目,需要实时监控设备运行故障,当发生故障时,显示屏要报故障码,显示屏是段码屏,只能显示一行故障码,故障码格式为ERROR1~ERROR9, 总共需要检测九个故障,当检测到故障时发数据给显示屏显示ERROR1~9的故障码。

程序上没什么困难,能写出来,但是我突然想到一个问题,整个显示屏已经做死了,一次只能显示一个故障码,但是实际情况很可能是有两个或两个以上故障同时发生,比如同时发生ERROR1, ERROR2,甚至更多,此时故障码在屏幕上该如何处理呢?

大家有什么思路吗?比如我的思路是把故障进行排队,比如同时发生了ERROR1, ERROR2, ERROR3, 我让E1先显示,我把E1故障解决后,如果E2故障还在,那就显示E2,把E2解决后,如果E3还在就显示E3。

不知道这个思路对不对,但我觉得这个代码不太好写,代码也没有思路,大家有什么更好的思路吗?谢谢
回复

使用道具 举报

ID:1043747 发表于 2022-11-12 22:38 来自手机 | 显示全部楼层
你不应该思考那么复杂,应该只显示先遇到的错误,然后重启
回复

使用道具 举报

ID:883242 发表于 2022-11-12 22:47 | 显示全部楼层
思路不对,应该显示全部故障码,才更有利于排除故障,只有一个显示位置那就隔1秒换一个呗。
回复

使用道具 举报

ID:213173 发表于 2022-11-13 07:04 | 显示全部楼层
已固化的段码屏的字符E8的8字如果是经典7段,除可以显示0~9之外还可以显示大多数英文字母。单一故障代码用数字,复合故障代码用字母。也可以用轮换、闪烁的方式显示复合故障。如果电路中有蜂鸣器,也可以配合莫尔斯码识别。
回复

使用道具 举报

ID:891041 发表于 2022-11-13 10:47 | 显示全部楼层
可以。你可以给故障按重要性或者解决关系排个优先级。 一次只显示一个、
回复

使用道具 举报

ID:101869 发表于 2022-11-13 20:23 | 显示全部楼层
这就如同keil报错一样,一个错误会引起连锁反应,所以不建议你这样做,排除一个出一个就挺好的
回复

使用道具 举报

ID:332444 发表于 2022-11-14 08:16 | 显示全部楼层
最好是多点同现可以利用数码管小数点闪烁提示,同时派出查修故障.
回复

使用道具 举报

ID:491577 发表于 2022-11-14 08:50 | 显示全部楼层
很简单的问题楼主想复杂了,一次性显示全部故障码就好,把ERROR1~ERROR9改成E*****就好,每一个*代表一个故障码,比如1、3、6故障显示:E136,1,2,4,8故障显示E1248。
回复

使用道具 举报

ID:123289 发表于 2022-11-14 15:55 | 显示全部楼层
多故障时循环显示就可以了。
如:1,4,7,1,4,7,1,4,7 三个故障
如:4,6,4,6,4,6 两个故障
有何难度呢。
回复

使用道具 举报

ID:592807 发表于 2022-11-21 09:43 | 显示全部楼层
那你能不能有个ERROR10之类的表示error1+2
回复

使用道具 举报

ID:195496 发表于 2022-11-21 09:53 | 显示全部楼层
单个故障直接显示,多个故障,闪烁轮流显示
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表