Foxtable(狐表)用户栏目专家坐堂 → 求助,串口收到这样的数据能不能读取成一行,长度为8的数据


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

主题:求助,串口收到这样的数据能不能读取成一行,长度为8的数据

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


加好友 发短信
等级:婴狐 帖子:10 积分:126 威望:0 精华:0 注册:2020/3/11 21:43:00
求助,串口收到这样的数据能不能读取成一行,长度为8的数据  发帖心情 Post By:2020/3/11 21:45:00 [只看该作者]


图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20200311214341.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:婴狐 帖子:10 积分:126 威望:0 精华:0 注册:2020/3/11 21:43:00
  发帖心情 Post By:2020/3/11 22:11:00 [只看该作者]

处理成这种格式的
图片点击可在新窗口打开查看此主题相关图片如下:微信图片_20200311221052.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:婴狐 帖子:10 积分:126 威望:0 精华:0 注册:2020/3/11 21:43:00
  发帖心情 Post By:2020/3/11 22:13:00 [只看该作者]

需要怎么操作
图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20200311221218.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:九尾狐 帖子:2180 积分:13816 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2020/3/11 22:32:00 [只看该作者]

这个和串口没有任何关系,你既然已经接收到字符串了,只是个字符串转换问题 ,你现在不是已经转换了吗?  20='',30-39 对应1-9 ,oD 对应 \CR. 

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


加好友 发短信
等级:婴狐 帖子:10 积分:126 威望:0 精华:0 注册:2020/3/11 21:43:00
  发帖心情 Post By:2020/3/11 22:47:00 [只看该作者]

那怎么能转化成为一行的数据,和下面图片那种格式一样的

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


加好友 发短信
等级:九尾狐 帖子:2180 积分:13816 威望:0 精华:2 注册:2012/2/25 10:59:00
  发帖心情 Post By:2020/3/11 23:02:00 [只看该作者]

这个和通讯协议有关,你必须约定好哪里是开头,那里是结尾,那里是校验,这样才能8个字符断开组成一个正确的显示字符,否则任意8个字符都能组成一个显示字符了
看你现在的数据,应该是 前面2个20 20 是约定开头  OD 是结尾,中间是有效字符 不知有没有校验?  

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


加好友 发短信
等级:婴狐 帖子:10 积分:126 威望:0 精华:0 注册:2020/3/11 21:43:00
  发帖心情 Post By:2020/3/11 23:08:00 [只看该作者]

这样的判断,在狐表里怎么写?谢谢

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


加好友 发短信
等级:超级版主 帖子:107846 积分:548581 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2020/3/12 11:37:00 [只看该作者]

试试
Dim cnt As Integer = Ports("COM2").BytesToRead
If 
cnt > 0 Then '缓冲区是否有数据
    Dim 
Val(cnt - 1) As Byte
    
Ports("COM2").Read(val,0,cnt)
dim str as string = System.Text.Encoding.Default.GetString(Val)
msgbox(str
End If

 回到顶部