标题: 单片机没有新数据进来时一直显示老数据直至关机,如何实现? [打印本页]

作者: zhth1979    时间: 2023-8-10 09:53
标题: 单片机没有新数据进来时一直显示老数据直至关机,如何实现?
目前是ADC采集到数据后就显示在屏幕上,没有数据后屏幕就显示00,我现在想要的功能:ADC采集到数据后要一直显示,显示中有新数据来时就显示新数据直至休眠。如何实现?

作者: xueyuking    时间: 2023-8-10 15:02
没有新数据就不要清除显示的数据就可以啊,有新数据来了就替换显示的数据。
作者: xuyaqi    时间: 2023-8-10 15:03
采集到压力后判断一下,如果是00就不要显示,不是再送显示。
作者: IdeaMing    时间: 2023-8-10 16:04
xuyaqi 发表于 2023-8-10 15:03
采集到压力后判断一下,如果是00就不要显示,不是再送显示。

对啊,程序里做个筛选
作者: 123156fsadf    时间: 2023-8-10 16:24
AD值下降时就不显示,上升时显示。这样可不可以
作者: Hephaestus    时间: 2023-8-11 07:23
你的需求描述本身就是自相矛盾,无法解决的。如果有新数据进来就显示新数据,但是00也是新数据你又不要显示,那么你到底想要显示什么?是最大的数据还是什么?先想清楚这些再动手。
作者: 大漠落日    时间: 2023-8-11 07:37
逻辑思路搞清楚,做个掉电记忆就行了
作者: liucan2020    时间: 2023-8-11 10:34
u8 NewDate;  u8 OldDate;
NewDate  接收数据,
if(NewDate != OldDate)
{
处理
}
NewDate == OldDate;


试一下这个思路可以吗?

作者: Hephaestus    时间: 2023-8-11 23:38
liucan2020 发表于 2023-8-11 10:34
u8 NewDate;  u8 OldDate;
NewDate  接收数据,
if(NewDate �= OldDate)

不可以,楼主要求没有压力不得显示newDate,但是楼主不知道什么叫“没有压力”。

顺便说一句英语问题,date是日期,data才是数据,而且是复数形式。
作者: a825563619    时间: 2023-8-12 09:57
程序改成不替换旧数据的就可以了
作者: zhth1979    时间: 2023-8-12 16:53
xueyuking 发表于 2023-8-10 15:02
没有新数据就不要清除显示的数据就可以啊,有新数据来了就替换显示的数据。

是这个意思,有这样的例程吗?
作者: zhth1979    时间: 2023-8-12 16:55
xuyaqi 发表于 2023-8-10 15:03
采集到压力后判断一下,如果是00就不要显示,不是再送显示。

可能我表达的不够清楚,我的意思是没有新数据就一直显示老数据,有新数据就显示新数据,如果新数据没有送来到休眠都显示老数据。
作者: TTQ001    时间: 2023-8-13 09:42
使用临时变量来保存传入的数据并将数据发送到显示。 当传入的数据没有改变时,变量将保存旧数据,显示器将继续显示旧数据。
作者: Hephaestus    时间: 2023-8-13 15:24
TTQ001 发表于 2023-8-13 09:42
使用临时变量来保存传入的数据并将数据发送到显示。 当传入的数据没有改变时,变量将保存旧数据,显示器将 ...

你不觉得你的做法跟不判断新旧数据是否相同,直接刷新数据的效果完全没有任何区别吗?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1