Forum: PC-Programmierung RS232 mit Visual Studio C++


von Torsten O. (Gast)


Lesenswert?

Hallo,

ich versuche gerade ein C++ Programm zu schreiben um Daten aus einem 
µController auslesen zu können. Die Kommunikation vom PC zum µC 
funktioniert, es kommen also die Daten an die ich sende.

Mein Problem besteht in der anderen Richtung. Der µC sendet Daten an den 
PC die ich auslesen möchte. Dabei bricht mein Programm mit folgender 
Fehlermeldung ab :

"An unhandled exception of type 'System.TimeoutException' occurred in 
System.dll

Additional information: The operation has timed out."

Die Abfrage ob Daten angekommen sind mache ich via Ereignis, d.h. es 
wird eine Funktion aufgerufen wenn Daten zur Verfügung stehen :

[c]
private: System::Void dataReceived(System::Object^  sender, 
System::IO::Ports::SerialDataReceivedEventArgs^  e)
{
  message = this->serialPort->ReadLine();
}
[\c]

Kann da vielleicht jemand helfen? Vielen Dank im voraus


lg Torsten

von Jean Player (Gast)


Lesenswert?

Hi,
probiers mal mit :
1
message = this->serialPort->ReadExisting();

Gruß

von Torsten O. (Gast)


Lesenswert?

Danke für die schnelle Antwort, ich versuche das mal.

lg Torsten

von Torsten O. (Gast)


Lesenswert?

Schade, funktioniert leider nicht. Ich habe den Controller so 
programmiert, dass er ein "Hallo" an den PC sendet wenn der das Zeichen 
"A" empfangen hat. Mit einem Terminalprogramm (X-CTU) funktioniert es. 
In meinem C++ Programm leider nicht :(

lg Torsten

von Jean P. (fubu1000)


Lesenswert?

Hi,
dann häng mal dein Projekt an, dann schau ichs mir an.

Gruß

von Torsten O. (Gast)


Lesenswert?

Danke für das Angebot, ich mache es jetzt mit 'ReadByte()'. Ich lese 
sowieo nur einzelne Bytes und keine Zeichenketten, somit reicht mir das 
:)

Vielen Dank nochmal für die Hilfe


lg Torsten

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.