单片机与触摸屏通信c语言,讲述如何实现单片机与触摸屏的通信

本文详细介绍了MODBUS RTU通信协议在触摸屏与单片机通信中的应用。通信过程遵循主从结构,触摸屏作为主机发送读写指令,单片机作为从机响应。通信格式包括起始位、数据位、奇偶校验位和CRC校验码,并规定了指令帧的结构和延时要求。通过具体例子展示了读取和写入单片机中数据的通信格式,为实际项目提供了参考。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在编辑窗口出现一个数值显示元件,一旦建立了正确的通信关系,则这个数值显示元件显示单片机中位40H(高位),41H(低位)的数值。

4 MODBUS RTU(远程终端设备)通信协议简介

触摸屏与单片机通信是主从通信方式,触摸屏是主机,单片机是从机。触摸屏根据画面编辑的控件,不断发送位、字的读或写的指令。单片机不断应答指令。

本文介绍MODBUS RTU通信格式,字符帧由8个数据位,1个起始位,1个停止位,1个奇偶校验位(当不采用校验位时,则设置2个停止位)。发送或接收每个字节,必需经过一次CRC出错校验运算。运算方法详见参考文献。

一个指令帧由从机地址、功能码、数据域和CRC校验码组成。数据域由读、写位或字数据的十六位首地址(高位在前,低位在后)、十六位操作数(高位在前,低位在后)、最后为十六位CRC校验码(低位在前,高位在后)。发送或接收前后必需有大于3.5MS的延时,以示一个指令帧的开始或结束。地址码和功能码均为一个字节。

下面举例说明用MODBUS RTU通信协议的通信格式:

1)读触摸屏指定首地址0x17对应单片机中首地址20H的一个字(十六位)的位状态。

触摸屏发送通信格式:

dec042e04e39ecdbb2faa1802bfb239a.png

单片机应答通信格式:

c96fd9069b6cd2d0f248a1f32aad924d.png

触摸屏位地址0x17对应单片机首地址24H.0,回送24H.

0~20H.7,25H.0-25H.7,十六位状态。

2)读触摸屏指定首地址4xl对应单片机中首地址40H的一个字(40H。41H)的数值。

触摸屏发送通信格式:

0e4d46ba1eb308b14d3fd27bb8f0a3c6.png

单片机应答通信格式:

7b9cd1d63180b5d918bb35d2ce19ffe3.png

3)将触摸屏指定地址位0x18对应单片机中21H(24H.1)位置1或清零。

触摸屏发送通信格式:

2882c25956dc8fd53ebedcebdb92e36f.png

单片机应答通信格式:

d5a02b4712edacd85a80217feb787833.png

表中置位命令0FF00H为置1,0000H为清零。

4)将触摸屏指定首地址4x2对应单片机中首地址42H的一个字42H,43H写入一个设定值oal64H。

触摸屏发送通信格式:

19f543b9039e0b313b8a3605035ceb36.png

单片机应答通信格式:

e1a42966f34d810a07530d09e87fd885.png

用类似的方法,根据项目要求,选择控件和编辑控件属性。

建立触摸屏与单片机的地址联系,按照MODBUS协议编写单片机与触摸屏的通信程序。则可实现用触摸屏显示单片机中位状态变化,设定数值或显示数值。

c2c9ed493cd281aa86d8a6f5178c4c01.gif [1] [2] [3] 610626052e95c7fbe3d254abc769d9ad.gif

本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值