undefined reference to "rc5_data"

Gast #3044674
Lesenswert?
• ▲
▼
Hallo,

habe mir die Dateien von Herr Dannegger geladen, da ich mir eine RC5 
Fernsteuerung bauen möchte. Er hat ja drei Dateien "RC5.C, Main.c und 
main.h"

Main.c und Main.h werden verknüpft indem main.c folgende Codezeile hat 
#include "main.h". In main.h ist eine Variable  namens "rc5_data". Wenn 
ich ejtzt kompiliere bekomme ich folgenden Fehler: ...c:20: undefined 
reference to `rc5_data' und das 3x mal. Ich denke mal das liegt an der 
Verlinkungen der Dateien, aber ich habe sie doch includet. Benutze AVR 
Studio 4.15 Build 623.

Wäre schön wenn jemand helfen kann!

Gruß Questionmark :)
Gast #3045759
Lesenswert?
• ▲
▼
Ja ich meine einen Decoder, also ich sende mit einer Fernbedienung ein
RC5-Codiertes Signal und meine IR-Diode gibt dieses Signal an den uC
weiter.
So einen Code benötige ich,  kennt  evtll. jemand eine Website wo man
sich dieses  downloaden kann?

Wäre super :)
Gast #3045810
Lesenswert?
• ▲
▼
Was nutzt dir wein weiterer Decoder, du hast doch schon einen?

Dein Problem ist ein ganz anderes: Du hast das Prokejt im AVR-Studio 
nicht richtig angelegt.

Links oben gibt es in der Ansicht den Order Sources. Dort musst du alle 
zum Prjekt gehörogen .c-Dateien importieren. Rechte Maustaste hilft 
weiter ;)

Dann klappt das auch mit dem linken ohne Fehlermeldung.

Oliver
Gast #3045819
Lesenswert?
• ▲
▼
Hm wenn ich ein neues Projekt anlege, den Code in die  main.c kopiere, 
ein  neues Headerfile  erstelle und als  rc5.h abspeichere, die  main.c 
kompiliere kommt ein Fehler das  in  der  main.c Variablen undefiniert 
sind, verständlich sind ja nur  in  rc5.h  deklariert das ist  halt echt 
komisch warum der das nicht verlinkt...
Gast #3045846
Lesenswert?
• ▲
▼
Da fehlt keine Variable, da fehlt das define für F_CPU.
Schua halt mal in rc5....h nach, ob das da definiert ist. Vermutlich 
nicht, denn das macht man üblicherweise in den Compileroptionen.


Prokect->Optionen (oder Settings), da gibt es ein Eingabefeld für F_CPU.

Oliver
Moderator Persönliche Seite #3045877
Lesenswert?
• ▲
▼
Questionmark schrieb:
> ....avr/lib/avr4/crtm8.o:(.init9+0x0): undefined reference to `main'

Dann schreib Dir doch eine Funktion main()! main() ist die 
C-Hauptfunktion, von der alles andere aus gestartet wird. Da rufst Du 
dann den RC5-Decoder auf und fertig.

Da Du offenbar von C überhaupt keine Ahnung hast, wie willst Du es dann 
überhaupt schaffen, aus dem decodierten RC5-Kommando irgendetwas 
sinnvolles als Aktion auszuführen?

Du brauchst erstmal:

 - ein C-Buch. Lerne C auf dem PC
 - AVR-Tutorial und  AVR-GCC-Tutorial. Lerne, den AVR zu programmieren

Fange mit einfachen Blink-Programmen an. In einem halben Jahr kannst Du 
dann nochmal wiederkommen. Vorher wird das nix.
#3045899
Lesenswert?
• ▲
▼
Questionmark schrieb:
> Ah lol, ich dachte die  wäre schon drin, alles klar  danke

Und was hat dich jetzt daran gehindert, den Code den du hast 
durchzuscrollen und zu überprüfen, ob du richtig gedacht hast?


Nur weil du wo anders Code zur Verfügung gestellt bekommst, entbindet 
dich das nicht davon
* selber mitzudenken
* C zu lernen bzw. zu können
* mit deinen Tools wie AVR-Studio umgehen zu können.

Es ist ein Trugschluss zu glauben, nur weil man heutzutage im Web alles 
downloaden kann, braucht man selber nichts mehr zu können bzw. zu 
lernen. Vor das 'Ich will' haben die Götter immer noch das 'Ich kann' 
gestellt. Und das hat sich seit 100000 Jahren nicht verändert und gilt 
heute noch genauso, wie es galt als wir von den Bäumen runterkamen.

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.