UART- Empfang zerstückelt?!

Gast #539909
Hi,

ich habe ein kleines problem, ich versuche eine einfache Kommunikation 
zwischen einem ARM-Board und den PC herzustellen. Auf dem PC läuft ein 
java thread (java.comm). Wenn ich etwas vom Board zum PC sende und es 
mir über Hyperterminal ausgeben lasse, ist alles korrekt empfangen 
worden. Wenn ich es über den java thread empfange und über console 
ausgebe, wird jedes Zeichen (so denke ich) in 20er päckchen zerhackt.
z.b. hallo-> 
hxxxxxxxxxxxxxxxxxxxaxxxxxxxxxxxxxxxxxxxlxxxxxxxxxxxxxxxxxxxl
xxxxxxxxxxxxxxxxxxxoxxxxxxxxxxxxxxxxxxx
wobei das x ein kästchen ist, also das symbol eines kästchen(ascii?!).

Baudrate, stoppbits ,parity_none, ist  beim sender und empfänge gleich.

Habt ihr eine Idee, woran es liegen kann?

Java code liegt im Anhang.
Angehängte Dateien:
Gast
Für mich als Laie sieht das...

byte[] readBuffer = new byte[20];
try {
    while (inputStream.available() > 0) {
  int numBytes = inputStream.read(readBuffer);
    }
    System.out.print(new String(readBuffer));
} catch (IOException e) {

... so aus, als ob numBytes nicht beachtet wird und kein "Stringende" im 
readBuffer gesetzt wird. new String(readBuffer) erzeugt deshalb einen 
String für den kompletten 20 Byte grossen readBuffer.

Du hast Glück, dass du in JAVA programmierst. In C hättest du einen 
sauberen Bufferoverflow produziert, die new String(readBuffer) analoge 
Anweisung könnte im Extremfall versuchen den kompletten Speicher zu 
kopieren (in der Praxis wird ein zufälliges Nullbyte das verhindern)!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 19 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.