Hallo. Ich bin langsam am Verzweifeln. Habe vor einen Modellbauempfänger auszulesen mit einem ATtiny26. Da habe ich mir gedacht, dass ich das mit Interrupts löse. Wenn ich steigende Flanke habe startet ein Interupt, der wiederrum einen Timer startet. Dieser zählt die Impulslänge bis der Pegel wieder auf Low geht. Nun wollte ich eine LED leuchten lassen wenn die Impulslänge größer als ein def. Wert ist. Leider funktioniert das ganze überhaupt nicht. Ich habe bestimmt einen dicken Fehler in der Software oder ich habe mir da logisch etwas nicht verstanden. Den Pluspol vom Empfänger habe ich an VCC(rot), GND(schwarz) an GND und die Datenleitung(Gelb) an INT0. Ist diese Anschlussbelegung richtig. Vielleicht könnte sich einer mal den Quelltext im Anhang anschauen und auf grobe Fehler untersuchen... habe schon gegoogelt und hier im Forum nachgeschaut. Das Problem ist einfach das die LED überhaupt nicht reagiert und ich nicht mehr weiß wo ich den Fehler suchen soll, ob in der Hard- oder Software!? :-(
Achso. Der Controller läuft mit 8Mhz. Vielleicht stimmt ja einfach das Timing nicht. Ich weiß es nicht!?
Du könntest das ganze auch in C/C++ programmieren, was unter Umständen vllt etwas leichter ist. Da gibt es sogar eine Funktion, in welcher auf einen bestimmten Zustand gewartet wird. Sie lautet: loop_until_bit_is_set(WARTEPIN, WARTEBIT); Schau einfach mal ins AVR-GCC Tutorial...
Ja es ist bestimmt leichter. Ich würde aber trotzdem gerne bei Assembler bleiben, weil ich noch einige andere Dinge damit vorhabe, die Zeitkritischer sind. Ich wollte einfach nur ein Programm schreiben, dass einen Empfänger ausliest und eine LED leuchten lässt, wenn die Impulsdauer < 1,5ms ist und die LED aus ist, wenn die >1,5ms ist.
Mein Code war in Ordnung. Hatte einen Verdrahtungsfehler. Trotzdem danke fürs lesen ;-)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.