-         

Ergebnis 1 bis 6 von 6

Thema: rc5-empfang-atmega32

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    27.12.2004
    Beiträge
    33

    rc5-empfang-atmega32

    Anzeige

    Hallo,
    ich habe mich zwar schon in das Thema RC5-Empfang eingelesen nur leider bin ich nicht so gut in GCC.
    Ich möchte 4 verschiedene Codes empfangen können und daraufhin eben 4 Befehle ausführen.
    Könnte mir jmd. bitte einen fertigen Beispielcode schicken der z.b. eine led bei Codeempfang zum leuchten bringt.
    Anhand eines solchen Codes könnte ich dann die Funktionsweise verstehen.
    Ich habe einen Atmega32u2 und benutze das AVR Studio.
    ich wäre sehr dankbar.

    grüße

  2. #2
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    7.551

    Re: rc5-empfang-atmega32

    Zitat Zitat von exzoys
    ... leider bin ich nicht so gut in GCC ... bitte einen fertigen Beispielcode ... led bei Codeempfang zum leuchten ...
    Es klingt vielleicht dämlich. In C bin ich auch nicht gut, lerne es erst seit einer Weile. Aber wenn ich mir alles schreiben lassen würde, würde ich fast nix lernen. Der Empfang der Signale ist ja erstmal easy, dann musst Du nur 14 mal im Zeitraster des RC-5 die Pegel diagnostizieren auf "erste Hälfte" und "letzte Hälfte", entsprechend dem Bit 0 und 1. Meine Routine hatte ich dazu selbst geschrieben. Selbst schreiben ist der einzige Weg, dass Du danach nicht mehr genauso schlecht in C bist wie vorher.

    Du hast Dich eingelesen? Hmmm, wieso bist Du dann nicht über die verschiedenen Codebeispiele gestolpert wie z.B. dieses (klick) Codebeispiel, oder dieses (klick) hier oder das sehr gut funktionierende C-Beispiel von P.Dannegger?
    Zitat Zitat von exzoys
    . . . Anhand eines solchen Codes könnte ich dann die Funktionsweise verstehen . . .
    Eins ist klar: wer sowieso schon bei C schwächelt, hat bei so komplexen Programmen wie RC-5-Dekodern ziemlich geringe Chancen, die Funktionsweise zu verstehen.
    Ciao sagt der JoeamBerg

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    27.12.2004
    Beiträge
    33
    guten morgen,
    ich bin schon über diese Codes gestoßen jedoch sind diese fehlerhaft.
    Das Code-Beispiel von p.dannegger habe ich ebenfalls schon gesehen und das auf dem RN-Wissen auch.
    Jedoch verstehe ich nicht warum da eine main.c und eine rc5.c ist
    ich kann doch auf meinen Chip nur eine einzige .hex Datei übertragen, die dann das ganze Programm enthällt.

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    27.12.2004
    Beiträge
    33
    Guten Morgen nochmals,
    wenn ich das Testprogramm von Dannegger compilern will kommen ebenfalls ein hauen fehler.

    Build started 1.2.2011 at 09:28:43
    avr-gcc -mmcu=atmega32u2 -Wall -gdwarf-2 -Os -std=gnu99 -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT infrarot2.o -MF dep/infrarot2.o.d -c ../infrarot2.c
    In file included from c:\winavr-20100110\bin\../lib/gcc/avr/4.3.3/include/main.h:11,
    from ../infrarot2.c:1:
    c:\winavr-20100110\bin\../lib/gcc/avr/4.3.3/include/signal.h:36:2: warning: #warning "This header file is obsolete. Use <avr/interrupt.h>."
    ../infrarot2.c:4: warning: conflicting types for built-in function 'putchar'
    ../infrarot2.c: In function 'putchar':
    ../infrarot2.c:6: error: 'UCSRA' undeclared (first use in this function)
    ../infrarot2.c:6: error: (Each undeclared identifier is reported only once
    ../infrarot2.c:6: error: for each function it appears in.)
    ../infrarot2.c:6: error: 'UDRE' undeclared (first use in this function)
    ../infrarot2.c:7: error: 'UDR' undeclared (first use in this function)
    ../infrarot2.c: At top level:
    ../infrarot2.c:11: warning: conflicting types for built-in function 'puts'
    ../infrarot2.c: In function 'main':
    ../infrarot2.c:23: error: 'TCCR0' undeclared (first use in this function)
    ../infrarot2.c:24: error: 'TIMSK' undeclared (first use in this function)
    ../infrarot2.c:26: error: 'UBRRL' undeclared (first use in this function)
    ../infrarot2.c:27: error: 'UBRRH' undeclared (first use in this function)
    ../infrarot2.c:28: error: 'UCSRA' undeclared (first use in this function)
    ../infrarot2.c:29: error: 'UCSRC' undeclared (first use in this function)
    ../infrarot2.c:29: error: 'URSEL' undeclared (first use in this function)
    ../infrarot2.c:29: error: 'UCSZ1' undeclared (first use in this function)
    ../infrarot2.c:29: error: 'UCSZ0' undeclared (first use in this function)
    ../infrarot2.c:30: error: 'UCSRB' undeclared (first use in this function)
    ../infrarot2.c:30: error: 'RXEN' undeclared (first use in this function)
    ../infrarot2.c:30: error: 'TXEN' undeclared (first use in this function)
    make: *** [infrarot2.o] Error 1
    Build failed with 17 errors and 3 warnings...
    .

    Wenn ich einen funktionierenden Code hätte würde ich auch lernen wie er funktioniert, so mache ich das in der Schule ja auch.
    Ich würde mir den Code ja da so zurechtschreiben wie ich ihn dann benötige.
    grüße

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.183
    Die meisten Error ergeben sich dadurch das die Register andere Namen haben. Wenn mich nichts täuscht ist der Code für den Mega8 geschrieben. Da wäre ein Blick ins Datenblatt sehr hilfreich.
    Mein Tip wäre Timer/Counter0 und USART
    Die neue ISR-Bezeichnung einfügen ist ja auch kein Problem
    AVR-Studio/ help/ avr-libc-Referenz-manual/ Library Reference/ <avr/interrupt.h>: Interrupts
    Hier findest du die neuen Bezeichnungen.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    27.12.2004
    Beiträge
    33
    danke somit hat sich das problem

Berechtigungen

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