Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Turbo C - <b>bioscom() communications i/o</b> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
bioscom()                Communications I/O

 #include   <bios.h>

 int        bioscom(cmd,byte,port);
 int        cmd;                         Operation to perform
 char       byte;                        Bits to set communications port
 int        port;                        Specified I/O port

    bioscom() performs various RS232 communications over the I/0 port
    specified by 'port' (0 = COM1, 1 = COM2, and so forth). 'cmd' can be
    one of the following:

           0    Sets the communications parameters to the value in
                'byte'.
           1    Sends the character in 'byte' out over the communications
                line.
           2    Receives a character from the communications line.
           3    Returns the current status of the communications port.

    'byte' is a combination of the following bits:

                0x02     7 data bits
                0x03     8 data bits
                0x00     1 stop bit
                0x04     2 stop bits

                0x00     No parity
                0x08     Odd parity
                0x18     Even parity

                0x00     110 baud
                0x20     150 baud
                0x40     300 baud
                0x60     600 baud
                0x80     1200 baud
                0xA0     2400 baud
                0xC0     4800 baud
                0xE0     9600 baud

    For example, a 'byte' value of 0xEB (0xE0 | 0x08 | 0x00 | 0x03) sets
    the communications port to 9600 baud, odd parity, 1 stop bit, and 8
    data bits.

    Returns:    With a 'cmd' value of 0 - 3: A 16-bit integer is
                returned.  The upper 8 bits are status bits:

                bit 15   Time out
                bit 14   Transmit shift register empty
                bit 13   Transmit holding register empty
                bit 12   Break detect
                bit 11   Framing error
                bit 10   Parity error
                bit 9    Overrun error
                bit 8    Data ready

                The value of the lower 8 bits vary depending on the value
                of 'cmd'.

                With a 'cmd' value of 1: If bit 15 is set, the 'byte'
                value could not be transmitted. Otherwise, the remaining
                upper and lower bits are appropriately set.

                With a 'cmd' value of 2: If successful, the byte read is
                in the lower bits of the return value. If an error
                occurred, at least one of the upper bits is set.  If no
                upper bits are set, the byte was received without error.

                With a 'cmd' value of 0 or 3: The return value has the
                upper bits set as defined.  The lower bits are defined as
                follows:

                bit 7    Received line signal detect
                bit 6    Ring indicator
                bit 5    Data set ready
                bit 4    Clear to send
                bit 3    Delta receive line signal detector
                bit 2    Trailing edge ring detector
                bit 1    Delta data set ready
                bit 0    Delta clear to send

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson