IRMP: Protokoll und Kommando per Uart ausgeben

OP #3209700
Lesenswert?
• ▲
▼
Hallo,

ich habe in meinem Projekt die irmp lib eingebunden und wollte das 
Protokoll und Kommando per uart ausgeben, allerdings funktioniert meine 
bisher verwendete uartlib von fleury nicht,da offenbar die irmp lib 
eigene uart routinen nutzt.
Kann mir jemand sagen wie ich die kommandos mit der irmp eigenen uart 
routine anzeigen lassen kann oder wie ich die lib auf die fleury lib 
umbaue?

P.S. Generell funktioniert die irmp, d.h. wenn ich ein kommando per 
Fernbedienung schicke wird die irmp_get_data ausgeführt und setzt mir 
aktuell einen Test-LED

anbei die nicht funktionierende uart ausgabe
1
        if (irmp_get_data (&irmp_data))
2
    
3
        {
4
              PORTB |=(1<<PB3);
5
        _delay_ms(500);
6
        PORTB &=~(1<<PB3);
7
      // ir signal decoded, do something here...
8
            // irmp_data.protocol is the protocol, see irmp.h
9
      uart_puts("\n\rProtokoll");
10
      send_int_uart(irmp_data.protocol);
11
            // irmp_data.address is the address/manufacturer code of ir sender
12
            // irmp_data.command is the command code
13
            // irmp_protocol_names[irmp_data.protocol] is the protocol name (if enabled, see irmpconfig.h)
14
        }
15
    }
#3209752
Lesenswert?
• ▲
▼
Sollte eigentlich nicht so sein.
Der IRMP Code betreibt auf Anforderung ein Logging der empfangenen Daten 
mittels UART.

Derfaultmässig ist dieses Logging aber abgeschaltet und wenn das korrekt 
gemacht ist (habs nicht kontrolliert), sollte da vom UART Code nichts 
mehr übrig bleiben.

Der entsprechende Schalter sitzt in der irmpconfig.h und heisst
1
#define IRMP_LOGGING    0

wenn er so wie hier 0 ist (ist der Download-Default), dann ist Logging 
abgeschaltet und du hast die UART ganz für dich alleine. (bzw. für die 
Fleury Lib)
#3209934
Lesenswert?
• ▲
▼
Zeig halt mal dein main() komplett her.

Denn wie gesagt: Wenn der IRMP Code noch so ist, wie er aus dem Zip-File 
kommt, dann ist da keine UART aktiv. Die wird gar nicht mitkompiliert.

Ergo ...
musst du irgendwo in deinem main() einen Fehler beim Einbinden der 
Fleury UART haben.


> wie gesagt ich würde auch die lib eigen uart routine nutzen, wenn mir jemand die 
syntax dafür gibt

Das hab ich jetzt mal überhört. Du wirst ja wohl noch in der Lage sein 
ein C-File aufzumachen und dort mal ein bischen rumzuscrollen, bis du 
auf eine offensichtliche Logging-Ausgabe stösst und dir dort mal 
anzusehen, wie das benutzt wird, bzw. die UART Basisfunktionen da 
drinnen zu finden.
Aber wie gesagt: das ist alles nicht aktiv und wird nicht mitkompiliert, 
solange das bewusste Präproc-Makro auf 0 steht.

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.