Der fragt den Serialport-Puffer ab, ob der größer 0 ist,
nicht ob das empfangene Byte > 0 ist. Ist aber in jeder
Programmiersprache, die ich kenne, gleich.

Wenn du nur bestimmte Zeichen übertragen haben
willst, kannst du das ja im Bascom - Programm bestimmen.
Alternativ kannst du auch einen x Bytes langen String
aus dem Port lesen und anschließend in deinem Windows-
programm filtern.

Ich lese in meinem PureBasic Programm genau 17 Zeichen
aus : -> 2 x 7 Bytes für die 2 Temperaturen
-> 1 Byte (ist ein Pipe-Zeichen ALT+124 |), das die beiden
Temperaturen voneinander trennt
-> + 2 Bytes (Chr(13) + Chr(10), das Bascom
beim Print - Befehl sowieso anhängt.

somit kann ich dann optimal ausfiltern :

Code:
Case #PB_Event_Timer
            If IsSerialPort(#My_ComPort)
               Bytes = AvailableSerialPortInput(#My_ComPort)
               If Bytes >= 17
                  ;O.k., here we go, read this one
                  ReadSerialPortData(#My_ComPort, @String, 17)
                  Sensor1 = Right(String, 9) ; 2 mehr wg. CR/LF
                  Sensor2 = Left(String, 7)
                Endif
              Endif