以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  串口不能收发中文字符  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=6406)

--  作者:lihe60
--  发布时间:2010/3/30 19:33:00
--  串口不能收发中文字符
我完全按帮助做的,可以收发字符串,但串口不能收发中文字符。有人遇到我这样的问题吗?

--  作者:yangming
--  发布时间:2010/3/30 19:44:00
--  

帮助

中文字符的收发

在默认情况下,串口不支持中文字符的手法,如果字符串口中包括中文字符,那么必须在发送前将字符串转换为字节数组,在接收端再将接收到的字节数组转换为字符串。


--  作者:yangming
--  发布时间:2010/3/30 19:58:00
--  
在命令窗口测试成功

Dim bty() As Byte
With Ports("COM3")
    bty = .GetBytes("狐表很强大") \'转换为字节数组
    .Write(bty, 0, bty.length) \'发送字节数组
End With
Output.Show(bty.length)
Dim p As Port = Ports("COM3")
Dim cnt As Integer = p.BytesToRead
If cnt > 0 Then \'缓冲区是否有数据
    Dim bty1(cnt - 1) As Byte
    Dim val As String
    p.Read(bty1,0,cnt) \'接收字节数据
    Val = p.GetString(bty1) \'转换为字符
    \'后续处理代码
Output.Show(Val)
End If

--  作者:lihe60
--  发布时间:2010/3/30 21:06:00
--  

我还没有测试过,请问如何在网络下收发信息?帮助里没有提到网络下的使用。

[此贴子已经被作者于2010-3-30 21:08:37编辑过]

--  作者:baoxyang
--  发布时间:2010/3/31 9:24:00
--  
收藏!