C# SerialPort bei Event 1 initialisieren und bei Event 2 benutzen

Gast #1400013
Lesenswert?

Hallo Community,

ich möchte meine Serielle Schnittstelle beim Click auf einen Button 
initialisieren und öffnen und dann beim timer_click Event Daten senden.
nun bekomme ich immer eine Ausnahme: der Objektverweis wurde nicht auf 
eine Objektinstanz festgelegt. Kann mit das aber nicht erklären.
Kann mir da bitte jemand weiterhelfen?
Code ist im Anhang.

Danke und Grüße
Angehängte Dateien:
Gast #1400050
Lesenswert?

Hallo Dave,

Problem gelöst.

Ich muss die Variableninitialisierung des COM-Ports mit in die 
if(!openCOM) Schleife nehmen, sonst versucht der Rechner beim zweiten 
Drücken auf den OK-Button eine weitere Initialisierung und dann kommt 
die Exeption.

Danke Dir trotzdem für die Mühe.

Grüße
#1404628
Lesenswert?

Du legst in btnOK_Click eine neue Instanz von myPort an, deren 
Gültigkeitsbereich auf btnOK_Click begrenzt ist. Das globale myPort ist 
somit nicht instanziert und führt in  timer1_Tick zu der von dir 
genannten Exception. Den Fehler hast du wahrscheinlich durch Zufall mit 
beseitigt. Außerdem werden nur Nullen gesendet, außer beim ersten mal.

Mach mal aus:
1
SerialPort myPort = new SerialPort((listBox1.SelectedItem.ToString()), 9600, Parity.None, 8, StopBits.One);
das hier:
1
myPort = new SerialPort((listBox1.SelectedItem.ToString()), 9600, Parity.None, 8, StopBits.One);

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