Zeichen über RS232 senden

Hallo Experten,

ich habe ein Programm mit Turbo C, das den COM Port einlesen, den eingelesenen Code vergleichen und eine Antwort über den COM Port aussenden soll. Ich habe einen Teil des Codes im Internet gefunden und den Rest modifiziert und erweitert. Mein jetziges Programm sieht so aus:

#include
#include
#define COM1 0
#define DATA_READY 0x100
#define SETTINGS ( 0xE0 | 0x10 | 0x00 | 0x03) /* 9600,Even,1Stop,8Data */
int main(void)
{
int in, out, status, i;
bioscom(0, SETTINGS, COM1); /*Initialisierung RS232*/
printf(„Zum Beenden bitte ESC drücken.\n“);
printf(„COM1 Parameter: 9600 Baud, Even Parity, 8 Data bits, 1 Stop bit\n\n“);
cprintf("Eingescannter Code: ");
while (1)
{
status = bioscom(3, 0, COM1); /*wait until get a data*/
if (status & DATA_READY)
if((out = bioscom(2, 0, COM1) & 0x7F) != 0) /*Data input*/
{
putch(out);

if(out == 0x31) /*ASCII für 1*/
{
printf(„Übereinstimmung“); /*diese Zeile wird ausgeführt*/
bioscom(1, 0x1b, COM1); /*hier wird nichts gesendet */
bioscom(1, 0x5b, COM1);
bioscom(1, 0x30, COM1);
bioscom(1, 0x71, COM1);
bioscom(1, 0x0d, COM1);
}
else
{
printf(„Daneben“);
bioscom(1, 0x1b, COM1);
bioscom(1, 0x5b, COM1);
bioscom(1, 0x31, COM1);
bioscom(1, 0x71, COM1);
bioscom(1, 0x0d, COM1);
}

}

if (kbhit())
{
if ((in = getch()) == 27) /* ASCII Esc*/
break;
bioscom(1, in, COM1); /*Data output, Tastatur*/
}
}
return 0;
}

Das Einlesen klappt schon mal ganz gut. Das Aussenden von Zeichen klappt aber nicht und ich habe keine richtige Idee, woran das liegt.
Wäre für Hilfestellung dankbar.

Danke und Grüße
lignuslibri

Hardware Handshake?
Hallo lignuslibri

vielleicht hardware handshake (Flusskontrolle) aktiviert? Wenn nicht in Software auszustellen geht, dann evt. (1,4 und 6) verbinden sowie (7 und 8) am SUB-D-Stecker.

Gruß
achim