Gast
#2780080
Ich brauche Hilfe.Es gibt ein Problem mit Datenübertragung zwischen PC
und Atmega8 per Serailport. Eins String “Text! “ mit Funktion:
private void serialPort1_DataReceived(object sender,
System.IO.Ports.SerialDataReceivedEventArgs e)
{
RxString = serialPort1.ReadExisting();
this.Invoke(new EventHandler(DisplayText));
}
empfangen
und erscheinen lassen im Textfeld mit Funktion:
private void DisplayText(object sender, EventArgs e)
{
textBox1.AppendText(RxString);//String empfangen
}
funktioniert ohne Fehler.
Aber wenn ich ein bestimmtes Byte auslesen will, dann kommt es oft zum
Fehler. Es wird falsches Byte ab und zu ausgelesen.
Ich verwende folgende Funktionen:
Empfangen:
private void serialPort1_DataReceived(object sender,
System.IO.Ports.SerialDataReceivedEventArgs e)
{
serialPort1.Read(readbyte1,0,6)
this.Invoke(new EventHandler(DisplayText));
}
Erscheinen lassen:
private void DisplayText(object sender, EventArgs e)
{
richTextBox1.AppendText(readbyte1[1].ToString());
}
Array radbyte1 wird mit char[] readbyte1 = new char[6]; deklariert.
Was ist falsch?????