VB串口通信问题,为什么发一个H要在前面加05 57 01 03 00 48 04 1C,不可以直接发48?

'以下为测试单片机的程序'发送字符串“Hello”'055701030048041C发送'H'ASCII码"48"'0557010400650436发送'e'ASCII码... '以下为测试单片机的程序
'发送字符串“Hello”
'05 57 01 03 00 48 04 1C 发送'H' ASCII码"48"
'05 57 01 04 00 65 04 36 发送'e' ASCII码"65"
'05 57 01 05 00 6c 04 3e 发送'l' ASCII码"6c"
'05 57 01 06 00 6c 04 3d 发送'l' ASCII码"6c"
'05 57 01 07 00 6f 04 3f 发送'o' ASCII码"6f"
'05 52 01 03 00 01 04 50 读取地址03H中的值
Private Sub CmdTest_Click()
MSComm1.Output = Chr(&H5) & Chr(&H57) & Chr(&H1) & Chr(&H3) & Chr(&H0) & Chr(&H48) & Chr(&H4) & Chr(&H1C)
Call delay
MSComm1.Output = Chr(&H5) & Chr(&H57) & Chr(&H1) & Chr(&H4) & Chr(&H0) & Chr(&H65) & Chr(&H4) & Chr(&H36)
Call delay
MSComm1.Output = Chr(&H5) & Chr(&H57) & Chr(&H1) & Chr(&H5) & Chr(&H0) & Chr(&H6C) & Chr(&H4) & Chr(&H3E)
Call delay
MSComm1.Output = Chr(&H5) & Chr(&H57) & Chr(&H1) & Chr(&H6) & Chr(&H0) & Chr(&H6C) & Chr(&H4) & Chr(&H3D)
Call delay
MSComm1.Output = Chr(&H5) & Chr(&H57) & Chr(&H1) & Chr(&H7) & Chr(&H0) & Chr(&H6F) & Chr(&H4) & Chr(&H3F)
Call delay
MSComm1.Output = Chr(&H5) & Chr(&H52) & Chr(&H1) & Chr(&H3) & Chr(&H0) & Chr(&H1) & Chr(&H4) & Chr(&H50)
展开
 我来答
浪花飘零2000
2014-10-30 · TA获得超过630个赞
知道小有建树答主
回答量:579
采纳率:0%
帮助的人:541万
展开全部
在串口通讯中,为了保证通讯的稳定,有效的降低误码率,一般采用规定的通讯协议来传输数据
'05 57 01 03 00 48 04 1C 发送'H' ASCII码"48"
'05 57 01 04 00 65 04 36 发送'e' ASCII码"65"
'05 57 01 05 00 6c 04 3e 发送'l' ASCII码"6c"
'05 57 01 06 00 6c 04 3d 发送'l' ASCII码"6c"
'05 57 01 07 00 6f 04 3f 发送'o' ASCII码"6f"
'05 52 01 03 00 01 04 50 读取地址03H中的值
通过观察我们可以了解到大致的协议
字节1:05 协议引导字节
字节2:57 ‘W'字符,表示发送 52 ’R'字符 表示读取
字节3:01 固定数,也可能是表示有效数为一字节
字节4:03 应该是数据的位置
字节5:00 固定
字节6:48 要发送的有效数据
字节7:04 固定
字节8:1C 校验和,采用异或校验
哩弊真z
2014-10-30 · TA获得超过228个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:104万
展开全部
应该是校验码,如果有下位机的程序就知道为什么了。可以看看下位机程序和通信协议。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-10-30
展开全部
这个跟你的应用层协议有关系啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式