Was mir aufgefallen ist, dass brauchst du bei deine jetzigen Code nicht!
Du hast doch den Com Port statisch zugewiesen mit "Com3".Code:private void button1_Click(object sender, EventArgs e) { string[] schnittstellen = SerialPort.GetPortNames(); // Gibt alle aktuell verfügbaren Comports zurück foreach (string comport in schnittstellen) {comboBox1.Items.Add(comport); } }
Ich hätte das so gemacht:
Schreib mal das so um zu sehn wieviel gesendet wird. ich kann es leider nicht testen ich hab z.Z. nichts am Com Port angeschlossen.Code:/// <summary> /// Com Port anzahl /// </summary> /// <returns></returns> int PortCount = 0; string Rueckmeldung = null; private string SerialPortCount() { try { string[] SettingPort = SerialPort.GetPortNames(); foreach (string PortName in SettingPort) { PortCount++; this.comboBox1.Text = PortName; this.comboBox1.Items.Add(PortName); } Rueckmeldung = "OK"; } catch { Rueckmeldung = "Error"; } return Rueckmeldung; } private void SendData(string DataInput) { SerialPort ComPort = new SerialPort(this.comboBox1.Text, 9600, Parity.None, 8, StopBits.One); try { ComPort.Open(); ComPort.Write(DataInput); this.label1.Text = ComPort.BytesToWrite.ToString(); ComPort.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
Code:AktuellerComPort.Open(); AktuellerComPort.Write(textBox1.Text); // sende inhalt der Textbox an ComPort this.label1.Text = ComPort.BytesToWrite.ToString(); AktuellerComPort.Close();
Wenn du 5 zeichen sendest sollte im label 5 drin sein. ( es sei denn ich hab mich jetzt mit den buffer geirrt ). Das dass der "Globale" Sende Buffer ist.
MFG Oliver g
PS: ich schau noch mal weiter ob ich was finde was ich am Com anschliesen kann.







Zitieren

Lesezeichen