Bioscom serial communication
Hello,
Do some of you still make programs for DOS ?
I am now using Borland Turbo C 2.01 on an IBM PC 433DXS with DOS 6.20.
I'm trying to make a program which read NMEA data coming for a GPS connected to the serial port.
The bioscom function seems very handy and easy to use, so I copy the following program from Borland documentations :
#include <bios.h>
#include <conio.h>
#define COM1 0
#define DATA_READY 0x100
#define TRUE 1
#define FALSE 0
#define SETTINGS ( 0xC0 | 0x03 | 0x00 | 0x00) /* 4800 baud, no parity, 8 bits, 1 stop */
void main(void)
{
int in, out, status, DONE = FALSE;
bioscom(0, SETTINGS, COM1);
cprintf("... BIOSCOM [ESC] to exit ...\n");
while (!DONE)
{
status = bioscom(3, 0, COM1);
if (status & DATA_READY)
if ((out = bioscom(2, 0, COM1) & 0x7F) != 0)
putch(out);
if (kbhit())
{
if ((in = getch()) == '\x1B')
DONE = TRUE;
bioscom(1, in, COM1);
}
}
}
The program compiles and run, but no incoming data is displayed on the screen.
Do I need to configure something in the computer to make the communication work ?
All the best
Pierre Brial