2017-12-17 10 views
0

Es scheint ein grundlegendes Problem mit QB64 Open Com-Anweisung zumindest mit meinem Compiler. Wenn ich den COM-Port mit OPEN "Com3: 9600, n, 8,1, ds0, cs0, rs" FÜR RANDOM AS # 1 öffne, während ich weiß, dass Daten im Puffer sind und EOF, LOC, LOF ausdrucken. Es zeigt EOF = 0 OK, Fein, aber LOC und LOF zeigen beide 0 an. Wenn Sie dann eine GET-Anweisung ausführen, erhalten Sie eine "schlechte Datensatzlänge", weil LOF = 0 ist. Wenn ich OPEN FOR INPUT verwende, bekomme ich sofort EOF = -1, LOF und LOC = 0. Wenn ich dann INPUT # benutze, bekomme ich eine Eingabe nach dem Ende der Dateifehler, weil EOF bereits -1 war. Ich weiß, dass der Puffer enthält "Voltage = 1.2 *" (keine Anführungszeichen) Wenn ich sage weiter auf der Eingabe nach dem Ende der Datei Fehler bekomme ich tatsächlich Teil der Nachricht. Gibt es eine Lösung für dieses COM-Port-Problem?QB64 Open Com Port verursacht Daten lesen Fehler

Antwort

0

Wenn Sie den COM-Port testen Sie Windows schön blockiert diese Ports finden:

REM test com port keyboard i/o 
OPEN "COM3:9600,N,8,1,BIN,CS0,DS0" FOR RANDOM AS #1 
DO 
    IF LOC(1) THEN 
     GET 1, , x 
     PRINT CHR$(x); 
    END IF 
    x$ = INKEY$ 
    IF LEN(x$) THEN 
     IF x$ = CHR$(27) THEN END 
     x = ASC(x$) 
     PUT 1, , x 
    END IF 
LOOP 
END