VB.net SerialPort多线程

时间:2014-12-29 15:59:01

标签: multithreading

我已经使程序通过LAN(Net.Socket)接收xml文件,并且需要将此XML数据的一部分发送到串行端口(也用于某些标签)

发送到标签时一切顺利,因为我使用以下代码(交叉线程):

 Delegate Sub SetlblScoreLine1TextInvoker(ByVal TextToDisplay1 As String)

Public Sub SetlblScoreLine1Text(ByVal TextToDisplay1 As String)
    If lblScoreLine1.InvokeRequired Then
        lblScoreLine1.Invoke(New SetlblScoreLine1TextInvoker(AddressOf SetlblScoreLine1Text), New Object() {TextToDisplay1})
    Else
        lblScoreLine1.Text = TextToDisplay1
    End If
End Sub

我也希望将此用于串口,但serialport1.invokerequired不是systems.IO.ports.serialports的成员。 这是因为并不总是正确发送串行数据(交叉线程??)

知道如何解决这个问题吗?

我不熟悉交叉线程

1 个答案:

答案 0 :(得分:0)

好的,这就是我将数据发送到串口的方式,希望这会有所帮助:

                If SerialPort1.IsOpen = True Then
                SerialPort1.Write("2" & strLine2 & vbLf & vbCr _
                                  & "3" & strLine3 & vbLf & vbCr _
                                  & "4" & strLine4 & vbLf & vbCr)
                SerialPort1.Write("Cxx234xdx" & vbCrLf & vbCr)
            End If

如果您需要更多信息,请告诉我