QBASIC阅读不带有newline的回复



我正在努力使用QBASIC阅读设备回复。问题是在输出数据之前等待Newline或Chr $(13)的等待,但是我的设备回复没有CHR $(13)(示例:" OK"),因此QBasic Hang等待Newline。

即使没有newline,我如何获得答复或读取comport?这可能吗?

[edit]

    CLS
     OPEN "com2:9600,n,8,1,BIN,cs,ds,rs" FOR RANDOM AS #1
    param$ ="Some data"
     PRINT #1, param$
      DO WHILE b$ <> "*CLOSE*"
       INPUT #1, b$
       PRINT b$
     LOOP

那是我的代码,但是在该代码中,它无法读取*CLOSE*,因为*CLOSE*之后没有newline。

和另一件事设备在回复之前延迟5秒。

您可以举一个代码的示例吗?我怀疑您正在使用INPUT#n,但也许您应该使用INPUT$(x)。我在这里找到了一个示例,请参见下面的代码

a$ = ""
DO
IF LOC(1) THEN a$ = a$ + INPUT$(1, 1)
LOOP UNTIL INSTR(a$, "OK")

此代码示例演示了基本中的调制解调器。

REM Reset modem source:
CLS
OPEN "COM2:9600,N,8,1,BIN,CS,DS,RS" FOR RANDOM AS #1
Reset$ = "ATZ" + CHR$(13) + CHR$(10)
PRINT #1, Reset$;
Inp$ = ""
DO
    IF LOC(1) THEN
        Inp$ = Inp$ + INPUT$(1, 1)
        IF INSTR(Inp$, "OK") THEN
            PRINT "Modem reset."
            EXIT DO
        END IF
    END IF
LOOP
END

相关内容

  • 没有找到相关文章

最新更新