Gast
#417533
Hallo Zusammen.
Ich versende Daten mit foglgender Routine:
int main (void)
{
DCB dcb;
DWORD iBytesWritten;
unsigned char ucMsg[] = {0x41, 0x42, 0x20, 0x43}; // (4)
//unsigned char ucMsg = 'C'; // zu sendendes Zeichen (1)
HANDLE hCom = CreateFile ("COM1", GENERIC_WRITE, 0, NULL,
OPEN_EXISTING, 0, NULL);
dcb.DCBlength = sizeof(DCB); // Laenge des Blockes MUSS gesetzt
sein!
GetCommState (hCom, &dcb); // COM-Einstellungen holen und aendern
dcb.BaudRate = 9600; // Baudrate
dcb.ByteSize = 8; // Datenbits
dcb.Parity = NOPARITY; // Parität
dcb.StopBits = ONESTOPBIT; // Stopbits
SetCommState (hCom, &dcb); // COM-Einstellungen speichern
//WriteFile (hCom, &ucMsg, 4, &iBytesWritten, NULL); // Senden von 4
Bytes
WriteFile (hCom, &ucMsg, sizeof (ucMsg), &iBytesWritten, NULL); //
Senden von 4 Bytes
// oder:
//WriteFile (hCom, &ucMsg, 1, &iBytesWritten, NULL); // Senden eines
Bytes
CloseHandle (hCom); // COM1 schließen
return (0);
}
Diese Routine wurde mir in diesem Portal hier Empfohlen. Es
funktioniert gut, bis es aufeinmal irgendwann aussetzt und der Computer
nichts mehr versendet. Kann es sein, daß es bei mehrfacher versendung
von Daten irgendwelche Verwaltungsprobleme durch Windows von der RS232
Schnittstelle gibt?
David