Modellbau Empfänger Signal lesen

Gast #349227
Lesenswert?

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!? :-(
Angehängte Dateien:
Gast #349229
Lesenswert?

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...
Gast #349230
Lesenswert?

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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren