0

我正在研究调制解调器 i/o,并通过 com1: 和基地址 x03f8 设置 uart,我想知道与调制解调器的 uart 连接是否必须相等?我在 QB64 中这样做。

4

3 回答 3

1

如果您指的是波特率,则 com 端口设置必须与所需的调制解调器波特率相同或更高。

于 2018-04-09T17:01:18.790 回答
0

将通信设备作为文件打开后,您可以调整 uart 波特率并使用 dlab 寄存器将其设置为与调制解调器波特率匹配吗?

于 2018-04-10T03:01:52.473 回答
0

找到这个 DLAB 子程序:

' sets port dlab (Divisor Latch Access Bit)
SUB SetBPS (Var)
SELECT CASE Var
CASE 1 ' 19200
    LByte = 6
CASE 2 ' 38400
    LByte = 3
CASE 3 ' 57600
    LByte = 2
CASE 4 ' 115200
    LByte = 1
END SELECT
Var2 = Base.Address
IF Var2 = 0 THEN
    SELECT CASE Port
    CASE 0
        Var2 = &H3F8
    CASE 1
        Var2 = &H2F8
    CASE 2
        Var2 = &H3E8
    CASE 3
        Var2 = &H2E8
    CASE 4
        Var2 = &H3E0
    CASE 5
        Var2 = &H2E0
    CASE 6
        Var2 = &H338
    CASE 7
        Var2 = &H238
    CASE ELSE
        EXIT SUB
    END SELECT
END IF
' divisor latch low
LSB = Var2 ' 3F8x
' divisor latch high
MSB = Var2 + 1 ' 3F9x
' line control register
LCR = Var2 + 3 ' 3FBx
MSBSave = INP(MSB)
OUT MSB, 0
OUT LCR, 128 ' dlab
' set baud rate
OUT LSB, LByte ' least significant byte
OUT MSB, 0 ' most significant byte
OUT LCR, 3 ' n,8,1
OUT MSB, MSBSave
END SUB
于 2018-04-11T04:53:46.753 回答