Foxtable(狐表)用户栏目专家坐堂 → [求助]串口数据收发的问题。


  共有2584人关注过本帖树形打印复制链接

主题:[求助]串口数据收发的问题。

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


加好友 发短信
等级:童狐 帖子:283 积分:4129 威望:0 精华:0 注册:2011/8/19 10:07:00
[求助]串口数据收发的问题。  发帖心情 Post By:2015/3/20 9:48:00 [只看该作者]

我想用我有一个单片机发送接收都是十六进制的数据,想用foxtable的串口功能通信,发送数据我可以通过十进制转换为十六进制发送出去,可是接收到的十六进制数据再转换为十进制数据本人还不会,求帮助。

发送数据:
Dim a1 As String
a1 = e.Form.Controls("ComboBox1").Text                 ' 串口端口选择
Ports.Add(a1)
With Ports(a1)
    .Close()
    .Parity = Parity.None
    .Handshake = Handshake.None
    .StopBits = StopBits.One
    .BaudRate = 57600
    .DataBits = 8
    .ReadBufferSize() = 4096
    .WriteBufferSize() = 2048
    .Open
End With
Dim Val() As Byte = New Byte() {85,5,1,163,64}                '发送十六进制数据:55 05 01 A3 40
Ports(a1).Write(Val, 0, Val.Length)






假如我接收到的还是55 05 01 A3 40






 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/20 9:52:00 [只看该作者]


 回到顶部
帅哥哟,离线,有人找我吗?
54292550
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:童狐 帖子:283 积分:4129 威望:0 精华:0 注册:2011/8/19 10:07:00
  发帖心情 Post By:2015/3/20 14:11:00 [只看该作者]

还是没法实现,
报错:
编译错误:类型“String”的值无法转换为Byte 的 1 维数组“。

使用设备监视器DateReceived事件,通过串口调试工具往端口发送十六进制数据,假如我发送十六进制数据55 05 01 A3 40,做一个弹出窗口收到的是" U?@ ",我想转换一下数据格式变成可以识别的,可就是无法转换。求助给个例子吧。
此主题相关图片如下:十六进制数据.png
按此在新窗口浏览图片

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/3/20 14:28:00 [只看该作者]

 参考

 

http://www.foxtable.com/help/topics/1979.htm

 

 

 比如

 

Dim cnt As Integer = e.Port.BytesToRead
If cnt > 0 Then '缓冲区是否有数据
    Dim Val(cnt - 1) As Byte
    e.Port.Read(val,0,cnt)
    For Each v As Byte In val
        msgbox(v)
    Next

End If


 回到顶部