Forum: PC-Programmierung RS232 ReadFile


von Lars (Gast)


Lesenswert?

Hallo zusammen

ich bin ein Programm am programmieren, dass Daten von einem PC auf
einen  anderen via com port schreibt. Das schreiben funktioniert, aber
das lesen nicht. Es scheint so als ob ReadFile nicht auf Daten wartet.
Hat jemand eine Idee?

Danke viel mals

von Hubert (Gast)


Lesenswert?

Ja klar, das Rad kann man doch mehr fach er finden...
Bitte schön viel mals.

von Lars (Gast)


Lesenswert?

Soll ich das meinem Lehrer sagen?!

von Rolf Magnus (Gast)


Lesenswert?

Ich verfluche die Rechtschreibreform. Seit dieser kann niemand mehr
(mich eingeschlossen) richtig schreiben. Weder nach alter noch nach
neuer Schreibung. Das kannst du deinem Lehrer ja sagen, aber der wird
das eh schon wissen.

von Tobi H. (tobi-) Benutzerseite


Lesenswert?

Ohne deinen Quelltext kann man nur rumraten. Vondaher wenn du Hilfe
haben möchtest must du die Infos zur Verfügung stellen, die man
braucht. ReadFile kann man sagen, ob es warten soll oder nicht. Schau
mal in den CommTimeouts. Sonst könnt man das Lesen auch so lange
wiederholen bis Daten kommen...

von Lars (Gast)


Angehängte Dateien:

Lesenswert?

Das Initialisieren sieht so aus.

von Lars (Gast)


Angehängte Dateien:

Lesenswert?

Und das lesen so.

von Blackbird (Gast)


Lesenswert?

WaitCommEvent wartet auf einen "Event", der Dir hier fehlt:

...
SetCommMask (hCom, EV_RXCHAR);

dwEvtMask = 0;
// ab hier einfügen ...
OVERLAPPED o;
o.hEvent = CreateEvent(NULL, FALSE, FALSE, NULL);
WaitCommEvent(hCom, &dwEvtMask, &o);

if(WAIT_OBJECT_0 == WaitForSingleObject(o.hEvent, INFINITE))
{
    if (dwEvtMask & EV_RXCHAR)
        ReadFile(hCom,zahlenFeld,zulesen,&gelesen,NULL);
}
...

Blackbird

von Lars (Gast)


Lesenswert?

Danke viel mals. Werde es gleich ausprobieren.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.