C#编程基础:简单实现上位机和威纶触摸屏双向串口数据交换

C#编程基础:简单实现上位机和威纶触摸屏双向串口数据交换

编码文章call10242025-06-09 20:34:563A+A-

前面的课程中我们已经简单实现了PC利用串口向威纶通触摸屏中写入数据。今天我们来试试如何从威纶通触摸屏向PC传输数据。首先在窗体上创建三个文本框,用来显示上传的数据。为了和前面的数据区分,我们分别标示为PC->HMI 和HMI->PC.

在串口接收事件中加入数据处理程序。将触摸屏上传的数据数组组合到一起形成三个数,并且在窗体上显示。将数组里的四个元素组成一个整数可以采用移位后相加的形式,也可采用乘倍数后相加的形式。左移8位和*256的结果是一样的。

同样的思路,在触摸屏上也添加三个数值元件,标示清楚数据传输方向。

然后在宏指令里添加数据发送程序。新建一个宏指令,和接收部分的宏指令分开。

在发送宏指令里添加如下程序:这里需要将三个数值拆分成数组的四个元素,然后共同组成一个12位元素的数组。传输到PC上后再反向解析出来。

数据拆分可以采用右移的方式拆分,也可以采用除和求余的方法拆分。例如 257这个数,十六进制是0x101,可以分为 0x100 +0x01, 将0x100右移8位,变成0x01,数组就变成了 a[0]=0x01 a[1]=0x01,然后到PC上先将a[0]左移8位,再和a[1]相加即可还原。

如果采用除法和求余拆分,则是先将 257除以256,所得的数值放在A[0]中,然后用256对257求余,结果放入a[1]中,得到的结果还是a[0]=0x01 a[1]=0x01。

最终得到上面的结果。这里的程序还是有些小问题,大家可以看看源码找一下错误,看看谁能发现问题所在!

点击这里复制本文地址 以上内容由文彬编程网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

文彬编程网 © All Rights Reserved.  蜀ICP备2024111239号-4