本人在进行串口数据传输时。测试通过XML传输文件时,返回这样的情况
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Tmp1 As String = "111.11"
Dim Tmp2 As String = "333.33"
Dim Tmp3 As String = "444.44"
Dim InPutStr As String = <IO>
<Flow>*<%= Tmp1.PadLeft(10, "0") %></Flow>
<Speed>*<%= Tmp2.PadLeft(10, "0") %></Speed>
<Sum>*<%= Tmp3.PadLeft(10, "0") %>*</Sum>
</IO>
Dim TmpString As String
Dim myEncoding As Encoding = Encoding.GetEncoding("utf-8")
Dim Temp As Byte() = myEncoding.GetBytes(InPutStr)
Rs232.Write(InPutStr)
System.Threading.Thread.Sleep(100)
TmpString = Rs232.ReadExisting()
Dim mystr As String() = TmpString.Split("*")
For Each c As String In mystr
Console.WriteLine(c)
Next
Console.WriteLine(TmpString)
Rs232.Close()
End Sub
''返回结果
'111.11
'333.33
'444.44
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
With Rs232
.PortName = "COM1"
.BaudRate = 9600
.StopBits = Ports.StopBits.One
.DataBits = 8
.Parity = Ports.Parity.None
End With
If Rs232.IsOpen = False Then Rs232.Open() '打开串口
End Sub