Events in C# in Verbindung mit ComPort

Gast #448290
Lesenswert?

Hallo an alle.

Bin mal ein bisschen in die Visual C# programmierung mit .Net 2.0 
eingestiegen und wollte da mal ein bisschen rumspielen,
und ein Windowsprogramm erstellen mit dem ich Daten an meinen uC senden 
kann und umgekehrt.

Das senden von Pc an den uC funktioniert soweit auch schon ohne 
Probleme.
Aber kann mir bitte mal jemand erklaeren wie ich
das Datenempfangen im Pc behandel kann.

Das geht wohl ueber das Rx-Event der  System.IO.Ports Klasse.
Aber wie kann ich z.B. einer TextBox sagen das sie dieses Event 
abonnieren soll ???

Schonmal danke im vorraus....
Gast #449099
Lesenswert?

Hi,

ich weiss nicht ob es möglich ist, dass die TextBox das Event 
"abonnieren" kann. Aber man kann es mit Hilfe eines delegate lösen.

Bsp.:

<CODE>
// in der Klasse bei den Variablen defineieren
private delegate void ReceiveVerarbeitungHandler(byte[] buffer);
ReceiveVerarbeitungHandler DelegateReceiveVerarbeitung;

...
private void serialPort1_DataReceived(object sender, EventArgs e)
{
int bytes = serialPort1.BytesToRead();
byte[] buffer = new byte[bytes];
serialPort1.Read(buffer, 0, bytes);
ReceiveVerarbeitung(buffer);
}

private void ReceiveVerarbeitung(byte[] buffer)
{
// hier machst du mit dem ausgelesenen buffer was du möchtest
// z.B.
}
</CODE>

Müsste soweit gehen, habs aus dem Gedächtnis hier mal einfach 
reingeschrieben (also nicht getestet oder compiliert).

Gruß, Willi

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