Seriak ve VB 2017
Pavel Hudecek
edizon na seznam.cz
Středa Červen 7 01:29:15 CEST 2017
Dobrý den všem,
připojil jsem dva převodníky USB-sériák, propojil je a začal si hrát s VB
2017:
První pokus jsem rozchodil, ale ten neměl eventy a to se mi nelíbí.
Našel jsem toto:
https://msdn.microsoft.com/cs-cz/library/system.io.ports.serialport.datareceived(v=vs.110).aspx
A tam uvedenou ukázku upravil na:
Imports System.IO.Ports
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles
Button1.Click
PortTest.Send()
End Sub
Private Sub Form1_Activated(sender As Object, e As EventArgs) Handles
Me.Activated
PortTest.startRd()
End Sub
End Class
Public Class PortTest
Shared sp1 As New SerialPort("COM4", 19200, Parity.None, 8,
StopBits.One)
Shared sp2 As New SerialPort("COM5", 19200, Parity.None, 8,
StopBits.One)
Public Shared Sub startRd()
sp2.ReadTimeout = 500
sp2.WriteTimeout = 500
AddHandler sp2.DataReceived, AddressOf Recv
sp2.Open()
Form1.Label1.Text = "start"
End Sub
Public Shared Sub Send()
sp1.ReadTimeout = 500
sp1.WriteTimeout = 500
sp1.Open()
sp1.WriteLine(Form1.tb1.Text) 'tb1 je textbox
sp1.Close()
End Sub
Private Shared Sub Recv(sender As Object, e As
SerialDataReceivedEventArgs)
Form1.Label1.Text = "recv"
Dim indata As String = sp2.ReadExisting()
Form1.Label1.Text = indata
End Sub
End Class
Po spuštění se label nastaví na "start", po stisku buttonu blikají LEDky na
obou převodnících, ale label se nemění, takže event vůbec nenastává. Poradí
někdo, proč?
Díky,
PH
Další informace o konferenci Hw-list