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
Weiß niemand eine Lösung für das Problem?
Tja. Die receive Funktion wartet auf Biegen und brechen, bis die gewünschte Anzahl an Bytes eingetroffen ist. Kommt nichts, dann wartet sie eben.
Aber nach einiger Zeit müssten doch alle Daten angekommen sein und das Programm weiter laufen, oder? Das tut es aber leider nicht.
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.
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..
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