Interrupt einlesen

Gast #365422
Lesenswert?
• ▲
▼
Hallo,

bin gerade dabei eine Fernsteuerung zu bauen. Da mein Sender nur 1
Kanal hat und ich 3 Zustände brauche (Knopf1 gedrückt, Knopf2 gedrückt
und "nichts" gedrückt) wollte ich das ganze folgendermaßen
realisieren:

Der 1. uC (Sender) erzeugt mittels 16-Bit Timer am PD5 ein Signal und
zwar folgendermaßen:

"nichts" gedrückt bedeutet, OCR1A auf 65535
Knopf1 gedrückt bedeutet, OCR1A auf 20000 (PINA0 auf low)
Knopf2 gedrückt bedeutet, OCR1A auf 40000 (PINA1 auf low)

Der Sender funktioniert auch (hab alles am Oszi ausgemessen).


Der 2. uC (Empfänger) soll dann, wenn

am PD3 (INT1) ein Interrupt (fallende Flanke) ausgelöst wird:

TCNT1 in der Variablen "wert" speichern
TCNT1 auf 0 setzen
den Timer1 starten


und soll sobald am PD2 (INT0) ein Interrupt (steigende Flanke)
ausgelöst wird den Timer anhalten.

in der Main-Methode soll dann anhand der Größe der Variable "wert"
entschieden werden, ob PINC1 und PINC2 low oder high geschalten werden.
Die Variable wert sollte dann so groß sein, wie der Wert von OCR1A am
Sender!?

Leider bleiben beide Pins immer auf dem else-Fall.

Zur Beschaltung ist noch zu sagen, dass beide uC mit einem 4MHz-Quarz
beschalten sind, um sicherzustellen, dass beide Timer immer gleich
schnell zählen.

Bin für jeden Tipp dankbar ^^

MfG Stefan
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.