Witam!!
Mam olbrzymią prośbę. Muszę obsłużyć następujący przypadek NA COM 1 przychodzi transmija program ją przerzuca na COM 2 . Musi to być czyste C. Program "w zasadzie działa" wysyła jednak za dużo znaków.
#include <dos.h>
#include <io.h>
#include <stdio.h>
#include <conio.h>
#define TIME_OUT 1000000
static int base0=0x3f8; /* Port 1 base address (COM1) /
static int base1=0x2f8; / Port 2 base address (COM2) */
static char znak;
void main()
{
int i;
int timeout;
char flag;
/* Set up Port 1 (COM1) */
outport((base0+2),0x01);
outp((base0+3),0x80);
outp(base0 ,0x0C);
outp((base0+1),0x0);
outp((base0+3),0x03);
outp((base0+1),0x00);
/* Set up Port 2 (COM2) */
outport((base1+2),0x01);
outp((base1+3),0x80);
outp(base1 ,0x0C);
outp((base1+1),0x0);
outp((base1+3),0x03);
outp((base1+1),0x00);
while (1)
{
znak = NULL;
znak = inportb(base0);
if (znak!=NULL)
{
outportb(base1,znak);
}
}
}
Bardzo proszę o pomoc