mikrocontroller.net

Forum: PC-Programmierung RS232 ReadFile


Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Hubert (Gast)
Datum:

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

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soll ich das meinem Lehrer sagen?!

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Tobi H. (tobi-) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht 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...

Autor: Lars (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das Initialisieren sieht so aus.

Autor: Lars (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Und das lesen so.

Autor: Blackbird (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke viel mals. Werde es gleich ausprobieren.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.