以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]监视串口得到的数据是乱码怎么办?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=110552)

--  作者:youkacard
--  发布时间:2017/12/5 12:47:00
--  [求助]监视串口得到的数据是乱码怎么办?
用串口助手软件接收的数据正常,但是监视串口事件传过来收到是乱码

Dim sk As Table = Tables("刷卡信息")
Dim r As Row = sk.AddNew
Dim s As String = e.Port.ReadExisting()
r("时间") = Date.Now
r("卡号") = s
sk.Save


求解原因?

串口助手收到数据格式如下:
FE0800140101ADC30844EF

--  作者:youkacard
--  发布时间:2017/12/5 13:37:00
--  
换了几种编码还是不行 
--  作者:有点色
--  发布时间:2017/12/5 14:11:00
--  

用字节读取,如

 

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


--  作者:youkacard
--  发布时间:2017/12/5 14:18:00
--  
不会乱码了 但是会弹出很多次窗口 都是10进制形式
--  作者:有点甜
--  发布时间:2017/12/5 15:27:00
--  

1、去掉msgbox的代码

 

2、转成16进制即可 http://www.foxtable.com/webhelp/scr/1622.htm