找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1732|回复: 13
收起左侧

单片机没有新数据进来时一直显示老数据直至关机,如何实现?

[复制链接]
ID:686513 发表于 2023-8-10 09:53 | 显示全部楼层 |阅读模式
目前是ADC采集到数据后就显示在屏幕上,没有数据后屏幕就显示00,我现在想要的功能:ADC采集到数据后要一直显示,显示中有新数据来时就显示新数据直至休眠。如何实现?
回复

使用道具 举报

ID:609503 发表于 2023-8-10 15:02 | 显示全部楼层
没有新数据就不要清除显示的数据就可以啊,有新数据来了就替换显示的数据。
回复

使用道具 举报

ID:94031 发表于 2023-8-10 15:03 | 显示全部楼层
采集到压力后判断一下,如果是00就不要显示,不是再送显示。
回复

使用道具 举报

ID:276663 发表于 2023-8-10 16:04 | 显示全部楼层
xuyaqi 发表于 2023-8-10 15:03
采集到压力后判断一下,如果是00就不要显示,不是再送显示。

对啊,程序里做个筛选
回复

使用道具 举报

ID:744809 发表于 2023-8-10 16:24 | 显示全部楼层
AD值下降时就不显示,上升时显示。这样可不可以
回复

使用道具 举报

ID:883242 发表于 2023-8-11 07:23 | 显示全部楼层
你的需求描述本身就是自相矛盾,无法解决的。如果有新数据进来就显示新数据,但是00也是新数据你又不要显示,那么你到底想要显示什么?是最大的数据还是什么?先想清楚这些再动手。
回复

使用道具 举报

ID:195496 发表于 2023-8-11 07:37 | 显示全部楼层
逻辑思路搞清楚,做个掉电记忆就行了
回复

使用道具 举报

ID:1040201 发表于 2023-8-11 10:34 | 显示全部楼层
u8 NewDate;  u8 OldDate;
NewDate  接收数据,
if(NewDate != OldDate)
{
处理
}
NewDate == OldDate;


试一下这个思路可以吗?
回复

使用道具 举报

ID:883242 发表于 2023-8-11 23:38 | 显示全部楼层
liucan2020 发表于 2023-8-11 10:34
u8 NewDate;  u8 OldDate;
NewDate  接收数据,
if(NewDate �= OldDate)

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

顺便说一句英语问题,date是日期,data才是数据,而且是复数形式。
回复

使用道具 举报

ID:1089588 发表于 2023-8-12 09:57 | 显示全部楼层
程序改成不替换旧数据的就可以了
回复

使用道具 举报

ID:686513 发表于 2023-8-12 16:53 | 显示全部楼层
xueyuking 发表于 2023-8-10 15:02
没有新数据就不要清除显示的数据就可以啊,有新数据来了就替换显示的数据。

是这个意思,有这样的例程吗?
回复

使用道具 举报

ID:686513 发表于 2023-8-12 16:55 | 显示全部楼层
xuyaqi 发表于 2023-8-10 15:03
采集到压力后判断一下,如果是00就不要显示,不是再送显示。

可能我表达的不够清楚,我的意思是没有新数据就一直显示老数据,有新数据就显示新数据,如果新数据没有送来到休眠都显示老数据。
回复

使用道具 举报

ID:420836 发表于 2023-8-13 09:42 | 显示全部楼层
使用临时变量来保存传入的数据并将数据发送到显示。 当传入的数据没有改变时,变量将保存旧数据,显示器将继续显示旧数据。
回复

使用道具 举报

ID:883242 发表于 2023-8-13 15:24 | 显示全部楼层
TTQ001 发表于 2023-8-13 09:42
使用临时变量来保存传入的数据并将数据发送到显示。 当传入的数据没有改变时,变量将保存旧数据,显示器将 ...

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

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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