
Chapter 5: Programming
Sample Programs
There are sample programs provided with the card in C, Pascal, QuickBASIC, and several
Windows languages. DOS samples are located in the DOS directory and Windows samples are
located in the WIN32 directory.
Windows Programming
The card installs into Windows as COM ports. Thus the Windows standard API functions can be
used. In particular:
►
CreateFile() and CloseHandle() for opening and closing a port.
►
SetupComm(), SetCommTimeouts(), GetCommState(), and SetCommState() to set and
change a port’s settings.
►
ReadFile() and WriteFile() for accessing a port.
See the documentation for your chosen language for details.
Under DOS, the process is very different. The remainder of this chapter describes DOS
programming.
Initialization
Initializing the chip requires knowledge of the UART's register set. The first step is to set the baud
rate divisor. You do this by first setting the DLAB (Divisor Latch Access Bit) high. This bit is Bit 7
at Base A3. In C code, the call would be:
outportb(BA3,0x80);
You then load the divisor into Base A0 (low byte) and Base A1 (high byte). The
following equation defines the relaionship between baud rate and divisor:
Desired Baud Rate = (UART clock frequency) ÷ (32 divisor)
Manual PCI-ICM-2S
13