以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 求助,串口收到这样的数据能不能读取成一行,长度为8的数据 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=147208)
|
-- 作者:风弩
-- 发布时间:2020/3/11 21:45:00
-- 求助,串口收到这样的数据能不能读取成一行,长度为8的数据
此主题相关图片如下:微信图片_20200311214341.png

|
-- 作者:风弩
-- 发布时间:2020/3/11 22:11:00
--
处理成这种格式的
此主题相关图片如下:微信图片_20200311221052.png

|
-- 作者:风弩
-- 发布时间:2020/3/11 22:13:00
--
需要怎么操作
此主题相关图片如下:微信截图_20200311221218.png

|
-- 作者:sloyy
-- 发布时间:2020/3/11 22:32:00
--
这个和串口没有任何关系,你既然已经接收到字符串了,只是个字符串转换问题 ,你现在不是已经转换了吗? 20=\'\',30-39 对应1-9 ,oD 对应 \\CR.
|
-- 作者:风弩
-- 发布时间:2020/3/11 22:47:00
--
那怎么能转化成为一行的数据,和下面图片那种格式一样的
|
-- 作者:sloyy
-- 发布时间:2020/3/11 23:02:00
--
这个和通讯协议有关,你必须约定好哪里是开头,那里是结尾,那里是校验,这样才能8个字符断开组成一个正确的显示字符,否则任意8个字符都能组成一个显示字符了看你现在的数据,应该是 前面2个20 20 是约定开头 OD 是结尾,中间是有效字符 不知有没有校验?
|
-- 作者:风弩
-- 发布时间:2020/3/11 23:08:00
--
这样的判断,在狐表里怎么写?谢谢
|
-- 作者:有点蓝
-- 发布时间: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
|