Forum: Mikrocontroller und Digitale Elektronik RFM12 Empfang in Zeitschleife hängt sich auf (AVR ATmega8 in C)


von Thomas (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich bin dabei ein Programm mit verschiedenen Zeitschleifen und Ausgabe 
am LCD mit Hilfe von Timer 0 zu schreiben. Das funktioniert auch alles 
perfekt.

Nur wenn ich die Funktion receive() aus der RFM12 Lib. von Benedikt
in einer solchen Zeitschleife (z.B 1s) aufrufe hängt sich der uC auf.

Verwende ich nur die Lib von Bebedikt in einem extra Programm empfange 
ich die Daten ohne Probleme und gebe sie am LCD aus.
Das komplette Programm ist in C und im AVR Studio geschrieben und mit 
WinAVR-20100110 compiliert. Im Anhang.

Vielleicht kann sich jemand das Programm anschauen und findet den 
Fehler.
Danke.
MfG Thomas

: Gesperrt durch User
von Thomas (Gast)


Lesenswert?

Weiß niemand eine Lösung für das Problem?

von Karl H. (kbuchegg)


Lesenswert?

Tja.
Die receive Funktion wartet auf Biegen und brechen, bis die gewünschte 
Anzahl an Bytes eingetroffen ist. Kommt nichts, dann wartet sie eben.

von Thomas (Gast)


Lesenswert?

Aber nach einiger Zeit müssten doch alle Daten angekommen sein und das 
Programm weiter laufen, oder? Das tut es aber leider nicht.

von Karl H. (kbuchegg)


Lesenswert?

Thomas schrieb:
> Aber nach einiger Zeit müssten doch alle Daten angekommen sein und das
> Programm weiter laufen, oder? Das tut es aber leider nicht.

Wenn die receive hängt, dann wird genau das eben nicht passieren.
Debug halt mal da weiter rein. Die receive ruft eine Funktion auf, die 
auf die Bytes wartet. Die wieder ruft eine Funktion ...ready auf, die 
feststellt ob es weiter gehen kann. Und da drinn wirds halt irgendwo 
hängen.

Nur weil du von jemand anderem vorgefertigte Funktionen benutzt, heißt 
das ja nicht, dass du dir die nicht mal im Detail ansehen kannst. Mit 
gezielt ein/aus geschalteteten LED kann man schon ein wenig Licht in die 
Sache bringen ohne dass es einem gleich das ganze Timing versaut wie mit 
einer LCD Ausgabe.

von landson (Gast)


Lesenswert?

Hallo,
ich versuche momentant der Stromverbrauch eines AVR Funk Evalution Board 
mit Atmega8 und RFM12 zu messen. auf dem Datenblatt des Atmega8 lese 
ich, dass der Atmega8 (für 16 MHz, 5 V) im Aktiv Mode 20 mA verbraucht.. 
ich möchte bitte wissen , ob er genauso 20 mA verbraucht, wenn der RFM12 
Daten empfängt.
ich freue mich eure Antwort..

von Karl H. (kbuchegg)


Lesenswert?

Und was bitte hat deine Frage mit der ursprünglichen Frage zu tun, 
ausser das beides irgendwie mit RFM12 zusammen hängt.
Mach bitte einen neuen Thread auf und stell dort deine Frage

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.