Foxtable(狐表)用户栏目专家坐堂 → [求助]串口发送数据和接收数据不成功,串口助手发送和接收是成功的。


  共有4271人关注过本帖平板打印复制链接

主题:[求助]串口发送数据和接收数据不成功,串口助手发送和接收是成功的。

帅哥哟,离线,有人找我吗?
yjm789000
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:136 积分:1711 威望:0 精华:0 注册:2016/7/18 20:17:00
[求助]串口发送数据和接收数据不成功,串口助手发送和接收是成功的。  发帖心情 Post By:2022/11/19 0:16:00 [只看该作者]

图片点击可在新窗口打开查看

下面的串口代码我写不明白了,试了好多次了,麻烦老师帮我改成正确的下拉。想实现串口助手的功能

Dim zl As WinForm.TextBox = e.Form.Controls("TextBox1")
Dim zls2 As WinForm.TextBox = e.Form.Controls("TextBox2")
Dim zls3 As WinForm.TextBox = e.Form.Controls("TextBox3")
Dim zls As String = zl.value
zls = zls.replace(" ", "")
Dim zl1 As UInteger = CUInt( zls.substring(0, 2))
Dim zl2 As UInteger = CUInt( zls.substring(2, 2))
Dim zl3 As UInteger = CUInt( zls.substring(4, 2))
Dim zl4 As UInteger = CUInt( zls.substring(6, 2))
Dim zl5 As UInteger = CUInt( zls.substring(8, 2))
Dim zl6 As UInteger = CUInt( zls.substring(10, 2))
Dim aaff As UInteger() = { zl1,  zl2, zl3, zl4,  zl5,  zl6}
Dim aa As Integer = CRC16(aaff, aaff.Length)                      ,这个是计算效验码的,计算没有问题是可以和串口助手对上了。
Dim bb As String = Convert.ToString(aa, 16).ToUpper()
Dim zl7 As Byte = CByte(bb.substring(0, 2))
Dim zl8 As Byte = CByte(bb.substring(2, 2))
Dim zl11 As Byte = CByte(zls.substring(0, 2))
Dim zl22 As Byte = CByte(zls.substring(2, 2))
Dim zl33 As Byte = CByte(zls.substring(4, 2))
Dim zl44 As Byte = CByte(zls.substring(6, 2))
Dim zl55 As Byte = CByte(zls.substring(8, 2))
Dim zl66 As Byte = CByte(zls.substring(10, 2))




Dim Val() As Byte = New Byte() {zl11, zl22, zl33, zl44, zl55, zl66, zl7, zl8}


Ports("COM6").Write(Val, 0, Val.Length)

zls2.value = zls & bb



Dim s2 As String 
s2 = s2 & Ports("COM6").ReadExisting()
zls3.Value = s2


串口助手发送和接收都是正常的,我想实现下面这个串口助手的功能。


图片点击可在新窗口打开查看

这是串口助手的发送和接收成功了。

下面是串口硬件的数据格式解释:

图片点击可在新窗口打开查看


我要输入的指令是:01 05 00 00 00 00    ,效验码是计算出来的,CD  CA

 回到顶部