Hallo, ich bin Anfänger und möchte Daten empfangen und diese im Textbox ausgeben lassen. Ich habe da was geschrieben und es funktioniert nicht ganz. Kann mir da jemand sagen wo men Fehler liegt? private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { int count = serialPort1.BytesToRead; byte[] ByteArray = new byte[count]; serialPort1.Read(ByteArray, 0, count); string data = System.Text.ASCIIEncoding.Default.GetString(ByteArray, 0, 5); float f = float.Parse(data); txtBox1.Text = f.ToString(); } private void button2_Click(object sender, EventArgs e) { serialPort1.Close(); this.Close(); }
:
Verschoben durch User
DingDong schrieb: > float f = float.Parse(data); > >txtBox1.Text = f.ToString(); irgend wie kannst du dir das Sparen. Erst ein einen float verwandeln und dann wieder in einen String. BTT: Gibts nen Compiler Fehler? Ist die Baudrate richtig eingestellt? Kommen die Daten überhaupt an? Hast du den Port überhaupt aufgemacht? Deine Informationslage ist ziemlich dünn.
Hallo, also so sieht mein Code aus: private void Form1_Load(object sender, EventArgs e) { SerialPort port = new SerialPort("COM6", 1200, Parity.None, 8, StopBits.One); //Initialisierung if (!port.IsOpen) { port.Open(); txtBox.Text = "open"; } else { txtBox.Text = "Not Open"; } //SerialPort öffnen } private void serialPort1_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { int count = serialPort1.BytesToRead; byte[] ByteArray = new byte[count]; serialPort1.Read(ByteArray, 0, count); string data = System.Text.ASCIIEncoding.Default.GetString(ByteArray, 0, 10); float f = float.Parse(data); txtBox1.Text = f.ToString(); } private void button2_Click(object sender, EventArgs e) { serialPort1.Close(); this.Close(); } } } nicht"Gast" schrieb: > BTT: Gibts nen Compiler Fehler? Ist die Baudrate richtig eingestellt? Nein es wir kein Fehler angezeigt > Kommen die Daten überhaupt an? Hast du den Port überhaupt aufgemacht? Nein es kommen kein Fehler an
DingDong schrieb: >> BTT: Gibts nen Compiler Fehler? Ist die Baudrate richtig eingestellt? > Nein es wir kein Fehler angezeigt >> Kommen die Daten überhaupt an? Hast du den Port überhaupt aufgemacht? > Nein es kommen kein Fehler an Was ist denn überhaupt Dein Problem?
Mein Problem ist, dass ich im txtBox1 keine Daten zusehen sind. Ich möchte datem empfangen und anzeigen lassen.
Und warum verwendest Du in der ersten Hälfte des sogenannten Programms "port" und in der zweiten "serialport1"?
Kommen überhaupt Daten im DataReceived an? Setze mal ReceivedBytesThreshold auf 1.
Schnittschnelle schrieb: > Und warum verwendest Du in der ersten Hälfte des sogenannten > Programms > "port" und in der zweiten "serialport1"? ich habe port auf serialport1 unbenannt? Robert C. schrieb: > Kommen überhaupt Daten im DataReceived an? > Setze mal ReceivedBytesThreshold auf 1. SerialPort serialPort1 = new SerialPort("COM6", 1200, Parity.None, 8, StopBits.One); //Initialisierung serialPort1.ReceivedBytesThreshold = 1; immer noch tut sich nichts
Dann würde ich an deiner Stelle mal den ganzen Palawatsch mit konvertierungen sein lassen und mir ansehen, ob die Eventfunktion überhaupt aufgerufen wird und wenn ja, was da von der Seriellen Schnittstelle überhaupt rein kommt.
> Robert C. schrieb: >> Kommen überhaupt Daten im DataReceived an? >> Setze mal ReceivedBytesThreshold auf 1. > > SerialPort serialPort1 = new SerialPort("COM6", 1200, Parity.None, 8, > StopBits.One); //Initialisierung > > serialPort1.ReceivedBytesThreshold = 1; > > immer noch tut sich nichts Dann mess mal an der Gegenstelle ob da überhaupt was raus kommt.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.