PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : empfang von Daten am ATMEGA 128



johannes26
13.12.2004, 14:03
Hallo...

Ich würde gerne Daten(Strings mit 5 byte--> ein Anfangszeichen z.B.: a und 3 Datenbit und ein Endzeichen z.B. e --> Datenformat 'a311e' zwischen einem Atmega32(Sender) und einem Atmega128(Empfänger) übertragen.

Das Senden funktioniert. Ich empfange auch die Daten(mittels Interrupt routine). Schaffe es aber nicht diese richtig abzupeichern.

Entweder wird mein Speicher komplett vollgeschrieben, oder es werden nicht immer die richtigen Zeichen abgespeichert....

Ich arbeite mit einem BUFFER der mit malloc() einen einen gewissen Speicherbereich allokiert und mit free() wieder freigeben soll...Ich will damit eine Art Ringbuffer realisieren, der wenn er meine gewünschten Daten enthält wieder geleert wird.



Hatte schon jemand so ein Problem oder hat einen Code zum Empfangen von Daten mittels interrupt routine....

Damit wäre mir sehr geholfen...

mlg Johannes

bluebrother
13.12.2004, 14:23
Hi,

wenn deine Strings alle 5 Zeichen lang sind kannst du dir doch auch einfach ein Array definieren. Und jedesmal wieder überschreiben. Mit einem Flag am Ende kannst du dann auch noch kennzeichnen ob die Daten vollständig da sind, also daten[5] = 0 für invalid, daten[5] = 1 für valid oder so.