Code-Beispiel
Statusleitungen der seriellen Schnittstelle über WIN-API steuern
Lizenz: | Erster Autor: | Letzte Bearbeitung: |
GPL | Steini63 | 14.09.2007 |
#Include Once "windows.bi"
Dim hCom As handle
Dim PortNr As String = "COM1"
Dim modemStat As Dword
'Serielle Schnittstelle öffnen:
hCom = CreateFile(PortNr, GENERIC_READ Or GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL)
Print "Handle = "; hCom
'Fehlerbehandlung, falls Öffnen fehlschlägt:
If hCom = INVALID_HANDLE_VALUE Then
Print "Fehler beim Oeffnen von "; PortNr
Sleep
End
Else
Print PortNr; " geoeffnet"
Endif
'Alle Ausgangsleitungen auf positive Spannung setzen:
EscapeCommFunction(hCom, SETRTS) 'RTS +12V
EscapeCommFunction(hCom, SETDTR) 'DTR +12V
EscapeCommFunction(hCom, SETBREAK) 'TxD +12V (Break)
Print
Print
Print "Ende mit [Esc]"
'Eingangsleitungen per Polling abfragen:
Do
GetCommModemStatus(hCom, @modemStat)
Locate 8,1
If modemStat And MS_CTS_ON Then Print "CTS = 1" Else Print "CTS = 0"
If modemStat And MS_DSR_ON Then Print "DSR = 1" Else Print "DSR = 0"
If modemStat And MS_RING_ON Then Print "RING = 1" Else Print "RING = 0"
If modemStat And MS_RLSD_ON Then Print "RLSD = 1" Else Print "RLSD = 0"
Loop Until Inkey = Chr(27)
'Alle Ausgangsleitungen auf negative Spannung zurücksetzen:
EscapeCommFunction(hCom, CLRRTS) 'RTS -12V
EscapeCommFunction(hCom, CLRDTR) 'DTR -12V
EscapeCommFunction(hCom, CLRBREAK) 'TxD -12V
'Serielle Schnittstelle schließen:
CloseHandle(hCom)
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|