28.12.2013 Views

Serial Programming - upload.wikimedia....

Serial Programming - upload.wikimedia....

Serial Programming - upload.wikimedia....

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Contents<br />

1 Introduction and OSI Model 3<br />

1.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

1.2 Why <strong>Serial</strong> Communication? . . . . . . . . . . . . . . . . . . . . . . . . . . 3<br />

1.3 OSI Layered Network Communications Model . . . . . . . . . . . . . . . . 4<br />

1.4 Software Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

1.5 Applications in Education . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5<br />

1.6 External Links / References . . . . . . . . . . . . . . . . . . . . . . . . . . . 6<br />

1.7 Other <strong>Serial</strong> <strong>Programming</strong> Articles . . . . . . . . . . . . . . . . . . . . . . . 6<br />

2 RS-232 Connections 7<br />

2.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7<br />

2.2 Data Terminal/Communications Equipment . . . . . . . . . . . . . . . . . 7<br />

2.3 Connection Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12<br />

2.4 Wiring Pins Explained . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16<br />

2.5 Baud Rates Explained . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19<br />

2.6 Signal Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22<br />

2.7 Relationship of Baud Rate to Maximum Distance . . . . . . . . . . . . . . 24<br />

2.8 External References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25<br />

2.9 Other <strong>Serial</strong> <strong>Programming</strong> Articles . . . . . . . . . . . . . . . . . . . . . . . 26<br />

3 8250 UART <strong>Programming</strong> 27<br />

3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27<br />

3.2 8086 I/O ports . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28<br />

3.3 x86 Processor Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30<br />

3.4 8259 PIC (Programmable Interrupt Controller) . . . . . . . . . . . . . . . . 32<br />

3.5 <strong>Serial</strong> COM Port Memory and I/O Allocation . . . . . . . . . . . . . . . . 35<br />

3.6 UART Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36<br />

3.7 Software Identification of the UART . . . . . . . . . . . . . . . . . . . . . . 52<br />

3.8 External References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53<br />

3.9 Other <strong>Serial</strong> <strong>Programming</strong> Articles . . . . . . . . . . . . . . . . . . . . . . . 54<br />

4 <strong>Serial</strong> DOS 55<br />

4.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55<br />

4.2 Hello World, <strong>Serial</strong> Data Version . . . . . . . . . . . . . . . . . . . . . . . 55<br />

4.3 Finding the Port I/O Address for the UART . . . . . . . . . . . . . . . . . 56<br />

4.4 Making modifications to UART Registers . . . . . . . . . . . . . . . . . . . 59<br />

4.5 Basic <strong>Serial</strong> Input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60<br />

4.6 Interrupt Drivers in DOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63<br />

4.7 Terminal Program Revisited . . . . . . . . . . . . . . . . . . . . . . . . . . 68<br />

III

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!