串口猎人怎么显示波形_串口触摸屏一般只接受字符串指令,那变化的数值怎么显示?成都仪器定制...

1,串口触摸屏存在的问题

串口触摸屏,一般就是用串口指令控制触摸屏的显示,指令的形式一般是字符串,不容易变化。那么,假如想在触屏上显示变化的参数怎么办?例如是采集到的仪表的变化的数值等。

2,怎么解决

先从串口数据的格式说起,实际来说字符串也是由一个个字符组成的,在发送的时候一个一个发送字符到串口,按照一定的形式编码成字符串。

假如想要在触屏上的某个文本控件t1上显示温度数据,举个例子,假如指令的格式是:t1.txt=”温度:123℃”,那么其实首尾的“t1.txt=”温度:”和“℃””是固定的,我们可以继续用字符串形式发送,只有中间的“123”这个实际的温度值是变化的,需要做一下处理。

一个思路是这样的:串口分段发送指令字符串,分为:指令头、变量部分、指令尾。其中变量部分需要将变量的每一位提取出来,转换为字符,并按照顺序存入数组中,然后逐位发送到串口。一般先发送的那一位会先显示在文本控件的最左边。流程如下:

8623bc05ab7417d5c52f3d1d680b0131.png

根据上面的例子用一个半完整的实操具体说说:

 定义一个温度变量,例如unsigned int temp;

 定义一个用于显示的字符数组,例如我们只想显示3位数据,那就定义为unsigned char dis[3];

 将温度变量的每一位存入显示数组:

dis[2]=(temp/100)%10+’0’;//将温度变量temp的百位存入数组的dis[2]

dis[1]=(temp/10)%10+’0’; //将温度变量temp的十位存入数组的dis[1]

dis[0]=(temp/1)%10+’0’; //将温度变量temp的个位存入数组的dis[0]

注:最后的“+’0’”是将实际的数据位转换为ASCII码,因为触屏不是只能识别字符串吗,那么英文和数字一般都需要转换为ASCII码的。

 用几条串口发送语句进行分别发送:

(1) 先发送指令字符串的头部:“t1.txt=”温度:”;

(2) 再用单字节语句发送温度变量部分,先高位后低位:依次为先dis[2]、dis[1]、dis[0];

(3) 再发送单位的字符串:“℃””;

最后发送结束符。

一般这样处理之后,温度变量temp是根据仪表的信号随时变化的,字符数组dis[]紧接着根据temp的变化而改变。虽然是分为了几条发送语句进行的,但是最终另外的设备从串口接收到的数据与用一条语句发送的结果是一样的。

这样一来,就能顺利地将变量嵌入到字符串指令之中,实现触屏的变量显示。

当然,方法千万种,这只是其中一个方法,可能不是最优,但是比较简单。本文也不是什么高深的技术,一点分享而已,希望有帮助。

全文完,但是分享并没有结束。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、基本功能 1、支持16个COM口、自动/手动搜索串口串口参数的设置和查看。 2、支持查看或修改串口控制线(DTR、RTS、DCD等等)的状态。 3、支持基本的收、发、查看、保存、载入、清除等功能。 4、两种收发格式:HEX码/字符串,支持中文字符串。(英文=ASCII码,中文=ANSI(GBK)码)。 5、大容量的收码区,为了加快显示速度会把超过10K的数据自动隐藏(可以点击【全显】钮查看)。 6、收码区的显示方式可以灵活设置:原始接收数据、按帧换行、通道数据、发送数据。 7、可以为收到的数据标注时间和来源。 8、可以自动比对发码区和收码区的数据是否一致(用于自发自收测试模式)。 9、收码区的内容,可以点击【转发】钮转到发码区。 10、可以在每次发码之前自动清除收码区。 二、高级发码功能 1、自动发列表功能:支持多组(最多16组)数据的轮流发送。 2、自动发文件功能:支持文件逐行发送。 3、轮发规则可以灵活设置,比如可以定时发,也可以收到应答后立即发。 4、轮发的间隔、无应答重发次数和循环次数均可灵活设置。 5、灵活的帧格式设置。支持自动添加帧头、帧尾、帧长、校验、回车换行符。 6、帧头、帧尾、帧长、校验,是否要参与校验或计入帧长,皆可灵活设置。 7、支持3种校验方式:SC(累加和校验)、LRC(纵向冗余校验)、BBC(异或和校验)。 8、校验码和帧长的长度,可以选择单/双字节。 三、高级收码功能 1、支持按帧接收数据。 2、能自动进行帧结束判定(方式非常灵活,可以按帧头、帧尾、帧长或时间)。 3、即时显示最新一帧内容。 4、拥有八个独立接收通道,可以自动从指定帧中指定位置收取有效数据。 5、每个通道的数据,可以独自显示、保存、清除。也可以送到收码区去显示。 6、可以设置通道收取数据的首地址、字节长度(单字节或多字节)、码制(HEX/BCD)、符号位形式。 7、示波器功能,可把收取的数据用波形方式显示。示波器的通道数、倍率、偏移、周期、颜色和线宽等可调。 8、码表功能,可把收取的数据用码表方式显示。(可以设置码表的最大/最小值和报警值)。 9、柱状图功能,可把收取的数据用柱状图方式显示。(也可以设置最大/最小值和报警值)。 10、可以把实施绘制的图形保存为图片。 四、其它贴心设计 1、用户的设置内容,可以保存/载入或恢复默认值。可以选择启动时载入默认值还是上次设置值。 2、可以通过提示区和状态指示了解软件当前工作状态。 3、当鼠标停留在按钮、文本框或其它控件上,会获得必要的提示。 4、右下角的图钉按钮,可以把窗口钉在最前面,避免被其它窗口覆盖。 5、附送串口电路、协议、码表等参考资料。 6、在【版权信息】标签页有匠人的联系方式,欢迎交流。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值