demmy
20.07.2012, 15:41
Hallo zusammen,
ich habe folgendes Problem.
Ich möchte Daten Über die UART empfangen und senden. Da dies aber über einen max485 passiert, nutze ich Config Print um das umschalten zwischen Senden und Empfangen automatisch ablaufen zu lassen.
Die eingehenden Daten werden auch nicht per Interrupt abgerufen sondern laufen in den Buffer, den ich über Config Serialin definiert habe.
Ich prüfe dann Zyklisch aus wieviele Bytes sich im Eingangspuffer befinden und hole mir die Daten dann bei Bedarf über Inputbin aus dem Puffer.
Nun zu meinem Problem:
Wenn die Daten vollständig da sind und ich mir die Bytes mit Inputbin ziehe, dann will ich direkt im Anschluss mittels printbin wieder Daten raussenden. Das Problem ist nur er sendet dann nur Müll oder die Daten sind unvollständig.
Setze ich jetzt aber zwischen das Inputbin und das Printbin ein Waitus 500 z.B. dann überträgt er die Daten korrekt.
Warum ist das so? Schaltet das Config Print zu langsam um? oder wie kann ich mir das erklären? Die Daten gehen auch über den Puffer raus. (Config Serialout) Funktioniert Config Print nicht richtig wenn ich den Buffer verwende?
Kann mir das jemand erklären?
Gruß
ich habe folgendes Problem.
Ich möchte Daten Über die UART empfangen und senden. Da dies aber über einen max485 passiert, nutze ich Config Print um das umschalten zwischen Senden und Empfangen automatisch ablaufen zu lassen.
Die eingehenden Daten werden auch nicht per Interrupt abgerufen sondern laufen in den Buffer, den ich über Config Serialin definiert habe.
Ich prüfe dann Zyklisch aus wieviele Bytes sich im Eingangspuffer befinden und hole mir die Daten dann bei Bedarf über Inputbin aus dem Puffer.
Nun zu meinem Problem:
Wenn die Daten vollständig da sind und ich mir die Bytes mit Inputbin ziehe, dann will ich direkt im Anschluss mittels printbin wieder Daten raussenden. Das Problem ist nur er sendet dann nur Müll oder die Daten sind unvollständig.
Setze ich jetzt aber zwischen das Inputbin und das Printbin ein Waitus 500 z.B. dann überträgt er die Daten korrekt.
Warum ist das so? Schaltet das Config Print zu langsam um? oder wie kann ich mir das erklären? Die Daten gehen auch über den Puffer raus. (Config Serialout) Funktioniert Config Print nicht richtig wenn ich den Buffer verwende?
Kann mir das jemand erklären?
Gruß