Serielle Schnittstelle in C ansprechen

Gast #385349
Lesenswert?

Hallo,

wie kann man die serielle Schnittstelle in C unter WinXP ansprechen ?

Ich habe schon gesucht und gesucht aber nichts passendes gefunden. Es
heistt ja immer, das man mit seinem Programm selbst keinen direkten
Zufriff auf die serielle Schnittstelle bekommt. Aber irgendwie muss es
doch machbar sein ....



Ich möchte z.B. irgendein Zeichen ausgeben und dieses über einen
angeschlossenen Microcontroller auf einem Display ausegben. Der
Microcontroller funktioniert berreits, aber wie mache ich das in C
??!!??



Viele Grüße



Christian
Gast #385352
Lesenswert?

Wenn es nur um das Senden geht:

// DOS32-Programm zum Senden eines Bytes über COM1 (9600-8N1)
// OS: W95, W98, W98SE, WinME, WinNT, Win2000, WinXP
// Note: Keine Fehlerbehandlung implementiert!
#include <windows.h>

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
  // oder:
  WriteFile (hCom, &ucMsg, sizeof (ucMsg), &iBytesWritten, NULL); //
Senden von 4 Bytes
  //WriteFile (hCom, &ucMsg, 1, &iBytesWritten, NULL); // Senden eines
Bytes

  CloseHandle (hCom); // COM1 schließen

  return (0);
}


Empfangen von seriellen Daten ist aber auch nicht sooo schwierig zu
programmieren.


Blackbird

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren