[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]