- SF800 Solar Speicher Tutorial         
Ergebnis 1 bis 4 von 4

Thema: Infrarot RC5 Empfangsroutine per Zeitmessung im Interrupt

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.236
    Ich hab das für eine andere Anwendung mal anders gemacht.

    Ich hab dafür einen INTx verwendet und dann während der Interrupt Routine das Interrupt Sensing von steigende auf fallende Flanke umgestellt und umgekehrt.
    Dann wird ein Timer ausgelesen der ein Maß für die Impulslänge / Impulspause hergibt ( vorheriger Wert des Timers wird vom aktuellen abgezogen ).
    Der Vorteil ist, das man eigentlich immer auf eine bestimmte Aktion wartet ( fallende oder steigende Flanke ) und das es auch mit Controllern funktioniert die kein Pin Change können.

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von Searcher
    Registriert seit
    07.06.2009
    Ort
    NRW
    Beiträge
    1.715
    Blog-Einträge
    133
    Zitat Zitat von wkrug Beitrag anzeigen
    Ich hab dafür einen INTx verwendet und dann während der Interrupt Routine das Interrupt Sensing von steigende auf fallende Flanke umgestellt und umgekehrt.
    Ich war auch mal nahe dran die Input Capture Unit zu verwenden, die man ja auch auf fallende bzw steigende Flanke umschalten kann. Dann war mir aber die Funktion und auch der 16Bit Timer, auf dem sie implementiert ist, zu schade. RC5 braucht ja keine so genaue Zeitmessung.


    Zitat Zitat von oberallgeier Beitrag anzeigen
    Wenn Du meinst, dass Dir mein Code was nützen könnte (wirklich recht mühevolles C) kann ich den gern posten. Viel Erfolg weiterhin.
    Vielen Dank! Ist im Augenblick nicht notwendig. Ich denke, Deinen Algorithmus habe ich verstanden. Hatte schon kurz versucht, mich durch den RC5-Dekodier-C-Code auf RN-Wissen durchzufinden. Aber ehrlich gesagt aufgegeben, da mir das als Nicht-C-ler zu umständlich wurde. Der knappen Beschreibung nach, könnte meines aber so ähnlich arbeiten: Interrupts aber ohne Abfrage des Portpinzustandes.


    Bisher habe ich bei meinen kleinen Basteleien noch keinen Heartbeat eingeführt. Wenn mir die Ressourcen mal auf meinen bewußt klein gehaltenen µCs ausgehen, komme ich wahrscheinlich darauf zurück.

    Beim Schreiben meines Programm hatte ich schon einiges zu kämpfen, um es so gut und fehlerfrei wie den GETRC5 Befehl in Bascom zu bekommen. Da ich schon etwas vertraut mit AVR Assembler bin, werde ich mal versuchen herauszubekommen, nach welcher Methode dort dekodiert wird. Laut Befehlsbeschreibung kann dort sogar der verwendete Timer0 mit leichten Einschränkungen gleichzeitig auch für andere Zwecke eingesetzt werden.

    Gruß
    Searcher
    Hoffentlich liegt das Ziel auch am Weg
    ..................................................................Der Weg zu einigen meiner Konstruktionen

Ähnliche Themen

  1. Zeitmessung
    Von hansebanger im Forum Asuro
    Antworten: 2
    Letzter Beitrag: 16.06.2009, 19:18
  2. RC-Car Zeitmessung
    Von Bluesmash im Forum Vorstellung+Bilder+Ideen zu geplanten eigenen Projekten/Bots
    Antworten: 17
    Letzter Beitrag: 14.09.2008, 21:34
  3. [ERLEDIGT] Zeitmessung mittels Timer und Interrupt
    Von MAN im Forum PIC Controller
    Antworten: 2
    Letzter Beitrag: 01.07.2005, 08:55
  4. zeitmessung
    Von pebisoft im Forum AVR Hardwarethemen
    Antworten: 1
    Letzter Beitrag: 15.02.2005, 20:32
  5. [ERLEDIGT] Zeitmessung
    Von Sahra im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 12.10.2004, 16:33

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests