Hallo zusammen,
ich habe ein großes Problem in C# dass ich jetzt nach einem Tag
recherchieren immer noch nicht lösen konnte.
Problem:
Ich kommuniziere mit einem MC über ein C# Programm. Meinen Port habe ich
soweit festgelegt und die Kommunikation funktioniert problemlos.
1 | port.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
|
Steht in meiner form1() Funktion und in sp_DataReceived wird der
empfangene Text in einer Textbox ausgegeben.
Nun möchte ich vom MC mehrere Sachen nacheinander in einer Funktion die
durch einen Button_Click aufgerufen wird abfragen.
Ich sende dem MC meinen String auf den er die angeforderten Daten
schickt (Habe ich mit einem PortMonitor überprüft.)
Ich lasse das C# Programm in einer for Schleife etwas warten bis die
Daten übetragen sein müssten. Genau jetzt wäre ja der Punkt dass mein
EventHandler die sp_dataReceived aufrufen müsste. Das macht er leider
nicht. Erst wenn die Funktion zu Ende ist wird die sp_dataReceived
einmal aufgerufen und der letzte gesendete Wert geschrieben.
Ich habe
1 | port.DataReceived += new SerialDataReceivedEventHandler(sp_DataReceived);
|
auch schonmal direkt in die Funktion geschrieben, das hat auch nichts
genutzt. Achja, der Port war natürlich auf Open.
Ich bin für jede Hilfe dankbar, ich bin nämlich langsam am verzweifeln.
Grüße
Simon