Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

Comport mit WinAPI testen

Uploader:RedakteurVolta
Datum/Zeit:13.09.2007 15:57:11

#INCLUDE ONCE "windows.bi"

Dim hCom As handle
Dim PortNr As String = "COM1" 'oder COM2 , COM3 usw.
Dim modemStat As dword

'Serielle Schnittstelle öffnen:
hCom = CreateFile(PortNr, GENERIC_READ Or GENERIC_WRITE, 0, NULL, OPEN_EXISTING, 0, NULL)
'Fehlerbehandlung, falls Öffnen fehlschlägt:
If hCom = INVALID_HANDLE_VALUE Then
  MessageBox 0,"Fehler beim Öffnen von " & PortNr,"Fehler:", MB_ICONERROR
  End
End If

Screen 16,8 'oder Screen 0
Color 15,1
Cls
Print PortNr; " geoeffnet ";
Color 15,7 : Print "Handle = "; hCom
Locate 8,1
Color 4,15 : Print " Ende mit [Esc] "

'Alle Ausgangsleitungen auf positive Spannung setzen:
EscapeCommFunction(hCom, SETRTS)    'RTS +12V
EscapeCommFunction(hCom, SETDTR)    'DTR +12V
EscapeCommFunction(hCom, SETBREAK)  'TxD +12V (Break)

Color 15,1
Locate 3,1
Print " CTS  = "
Print " DSR  = "
Print " RING = "
Print " RLSD = "
'Eingangsleitungen per Polling abfragen:
Do
  GetCommModemStatus(hCom, @modemStat)
  Locate 3,8 : Print Iif (modemStat And MS_CTS_ON ,1,0)
  Locate  ,8 : Print Iif (modemStat And MS_DSR_ON ,1,0)
  Locate  ,8 : Print Iif (modemStat And MS_RING_ON,1,0)
  Locate  ,8 : Print Iif (modemStat And MS_RLSD_ON,1,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)