- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 3 von 3

Thema: externen RC5 decodiert Code ... von Bascom AVR Version

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    14.09.2004
    Beiträge
    38

    externen RC5 decodiert Code ... von Bascom AVR Version

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    da ich wie schon geschrieben nach einem extern Interrupt ein RC5 Signal decodieren möchte und das warscheinlich mit dem Befehl GETRC5 nicht so recht funkt. (siehe Beitrag von gestern)
    habe ich in der Hilfe von Bascom bei Getrc5 folgendes gefunden :

    "GETRC5 supports extended RC5 code form version 1.11.6.9 thanks to Gert Boer..."


    also wer hat noch diesen Quelltext für das extern. RC5 decodieren ?
    oder wer hat noch die Beispieldateien von der Version 1.11.6.9 - da sollte das doch auch drinn sein oder ?

    vielen Dan im vorraus

  2. #2
    Rudi Ratlos
    Gast
    Hallo gleichfalls,

    diese Versuche habe ich auch gerade hinter mir ...

    Das RC5READ in der ISR kann so nicht funktionieren, da während des Ablaufes der Routine alle Interrupts disabled sind !! Und RC5READ benötigt nun einmal den Timer-Interrupt.
    Der ist aber - wie gesagt - disabled.
    Ergo müsste man in der ISR zunächst ein ENABLE INTERRUPT setzen.

    Ausserdem sollte die ISR möglichst kurz sein (sonst wird der Anfang der Sendung verpasst).
    Ich habe gar keine ISR definiert !
    Der INT hebt nur den IDLE-Zustand auf, in dem der Prozessor auf ein Signal wartet.

    CONFIG INTO = FALLING
    ENABLE INTO
    ENABLE INTERRUPTS
    .......

    IDLE ' Hier wartet das Programm auf den INT
    RC5READ(Address, Command)

    Trotzdem waren die Probleme aber noch nicht ganz gelöst.
    Zwar kann ich damit die Signal einer Fernbedienung empfangen, einen anderen Microcontroller aber nicht
    (die Ursache habe ich noch nicht weiter untersucht - ich vermute, dass die Fernbedienung mehrfach sendet, der Controller ab nur 1mal - und RC5READ hat die erste Flanke des Sendung bereits verpasst, da diese zur Auslösung des INT diente).

    Als Lösung des Problems schicke ich vor dem RC5-Code sozusagen einen "Vorblitz", einen kurzen Impuls, der den INT auslöst und RC5READ anstartet. Das funktioniert reibungslos.

  3. #3
    Gast
    so sieht das ir-rc5-dateneinlesen bei mir aus mit int0.
    ich benutze fastavr-basic. vielleicht kann man das in Bascom übertragen.

    Interrupt Int0(), Save 2
    Disable Int0
    Enable Interrupts
    RC5(ir_adr, ir_Command)
    If ir_command=62 Then
    motor_wert=120
    robby_vor()
    End If
    If ir_command=61 Then
    motor_wert=80
    robby_zurueck()
    End If
    If ir_command=60 Then
    motor_wert=60
    robby_links_encoder()
    End If
    If ir_command=59 Then
    motor_wert=60
    robby_rechts_encoder()
    End If
    If ir_command=63 Then robby_aus()
    Reset Int0
    Enable Int0
    End Interrupt

    mfg pst

Berechtigungen

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

fchao-Sinus-Wechselrichter AliExpress