Arduino und Visual Basic?

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Probiers in VB mal mit

Try
   "Code zum auslesen der Schnittstelle"
catch ex as Exception
  MsgBox("Tralala")
end try

Dann sollte sich das Programm zumindest nicht mehr aufhängen

Für das Auslesen kannst du aber auch folgenden Code benutzen

'Globale Variable
Delegate Sub SetTextCallBack(ByVal [text] As String)

Private Sub SerialPort1_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
RecievedText(SerialPort1.ReadExisting())
End Sub

Private Sub RecievedText(ByVal [text] As String)
If Me.tb_Empfangen.InvokeRequired Then
Dim x As New SetTextCallBack(AddressOf RecievedText)
Me.Invoke(x, New Object() {(text)})
Else
Me.tb_Empfangen.Text &= [text]
End If
End Sub

Kannst aber auch anstatt in eine TextBox auch eine String-Variable nehmen

tom20032005 
Fragesteller
 14.08.2017, 18:42

Danke für die Antwort ich habe es aber geschafft das aufhängen zu verhindern mit: Windows.Forms.Control.CheckforillegalThreadcalls = false und der Rest funktioniert dann auch gut

0
tom20032005 
Fragesteller
 14.08.2017, 18:44

und deine Methode funktioniert übrigens auch XD

0

Es heißt ReadLine(), weil es eine Methode ist.

tom20032005 
Fragesteller
 07.07.2017, 20:05

bringt aber auch nix. Und was mir aufgefallen ist, ist dass wenn ich in der arduino Software den Serial Monitor starte und wieder schließe und dann mein Programm ausführe funktioniert alles

0
tavkomann  07.07.2017, 20:32

Öffnest du vielleicht den seriellen Port nicht in deinem Programm?

0
tom20032005 
Fragesteller
 10.08.2017, 17:14
@tavkomann

Doch mache ich und ich schließe ihn auch wieder wenn das Programm geschlossen wird.

0
tavkomann  07.07.2017, 20:34

Poste mal den ganzen Code

0

Du musst bei einer if Abfrage 2 == Zeichen benutzen.

Also

if(Serial....=="A")

tom20032005 
Fragesteller
 07.07.2017, 18:31

Aber doch nicht in visual basic

0