[Back to COMM SWAG index] [Back to Main SWAG index] [Original]

    {
    I can give you a brief run on a UART of the 8250 line.

    Reg 0 used for sending or Recieving a byte;
    Reg 1 Interrupt Enable: Bits 0= RX, 1=TX, 2=Serial ERROR, 3=ModemInputStatus
    Reg 2 Interrupt ID : if Bit 0 set then no interrupt has happen else
          Bits 1=RXready,2=TxEmty,3=Serial error, 4= ModemInputStatus;

    Reg 3 Data Format Line Control;
           Bits 0,1 Select Word Size 0=5,1=6,2=7,3=8
                2   Stops Bits On = 2, oFf - 1;
                3,4,5 :Parity 0=none,1=odd,3=even,5=mark,7=space;
                6   Break Control off = off, on = on
                7   Devisor latch control;
                     Must set this on to have reg 0,1 used as 16 bit value to
                    BAUD Rate;
                    divisor =(1843200 div (16 * desired baud rate));
    (89 min left), (H)elp, More?                When done set bit 7 to off.
    reg 4 OutputControl
            0 = DTR,1= RTS, 2,3 = GPO, 4 = LoopBack Test;
    Reg 5 Serial Status reg;
           0 = Data Ready on RX line;
           1 = over run, 2= parity errro,3= frame error, 4= break detected,
             5= TXbuffer empty, 6 = Tx Output Reg empty.
    Reg 6 Modem INputs
           0-3 are Delta Bits, meaning they  are set when a change has happen
            in the state of the DRS,CTS,RI,DCD since last time, when read these
            bits will clear.
           4 = CTS , 5 = DSR, 6 RI. 7 DCD;
           { ^^^ Reports the current logit level of these inputs }
           { all Delta Bits are in the same alignment bit wise. }
    { Hope this helps }

[Back to COMM SWAG index] [Back to Main SWAG index] [Original]