Hi,
ich wollte mal fragen, ob ein Comport automatisch geschlossen wird, wenn dieser längere Zeit (ungenutzt) offen bleibt. Ich schreibe z.zt ein Programm, welches, wenn es einen Fehler gibt, eine LED einschaltet. (Vielen dank an fraju für die Bereitstellung des BITWACKELN-Codes.) Wenn das Programm gestartet wird, wird ganz am Anfang des Programm der Comport geöffnet. Gute 3 Minuten nach dem Programmstart, wird dann die LED mit dem Befehl led.an() eingeschaltet. Wen dies geschehen soll, erhalte ich eine Fehlermeldung, dass der Comport geschlossen ist. Das merkwürdige an der Sache ist nur die Tatsache, dass die Fehlermeldung nicht kommt, wenn man den Befehl led.an() mit einem Button aufruft?!? Die LED wird von einer Klasse eingeschaltet, welche auch die Logdatei schreibt.
ich wollte mal fragen, ob ein Comport automatisch geschlossen wird, wenn dieser längere Zeit (ungenutzt) offen bleibt. Ich schreibe z.zt ein Programm, welches, wenn es einen Fehler gibt, eine LED einschaltet. (Vielen dank an fraju für die Bereitstellung des BITWACKELN-Codes.) Wenn das Programm gestartet wird, wird ganz am Anfang des Programm der Comport geöffnet. Gute 3 Minuten nach dem Programmstart, wird dann die LED mit dem Befehl led.an() eingeschaltet. Wen dies geschehen soll, erhalte ich eine Fehlermeldung, dass der Comport geschlossen ist. Das merkwürdige an der Sache ist nur die Tatsache, dass die Fehlermeldung nicht kommt, wenn man den Befehl led.an() mit einem Button aufruft?!? Die LED wird von einer Klasse eingeschaltet, welche auch die Logdatei schreibt.
VB.NET-Quellcode
- '###################################################
- '### ErrorLED Class by Floriware, fGojH. in 2010 ###
- '###################################################
- 'Für LED an Pin 3 (Breakstate) und 5 (Signal Ground).
- Public Class ErrorLED
- Dim com As String
- Dim noini As Boolean
- Dim SerialPort As New System.IO.Ports.SerialPort
- Public Sub initiate()
- com = "COM1"
- noini = False
- 'Gibt den zu verwendenden Comport an.
- SerialPort.PortName = com
- Try
- SerialPort.Open()
- Catch ex As Exception
- Form1.logweitergabe(33)
- noini = True
- Exit Sub
- End Try
- If noini = False Then An()
- Aus()
- End Sub
- Public Sub An()
- 'Try
- SerialPort.BreakState = True
- 'Catch ex As Exception
- ' Form1.logweitergabe(34)
- 'End Try
- End Sub
- Public Sub Aus()
- If noini = False Then
- Try
- SerialPort.BreakState = False
- Catch ex As Exception
- Form1.logweitergabe(35)
- End Try
- End If
- End Sub
- Public Function istan()
- If noini = False Then
- Return SerialPort.BreakState
- Else
- Return "FEHLER"
- End If
- End Function
- Public Sub noinitial()
- SerialPort.Close()
- noini = True
- Form1.logweitergabe(38)
- End Sub
- End Class