Hallo zusammen,
ich kämpfe gerade mit der Portierung der lernfähigen Fernbedienung im
Atmelstudio 7
https://www.mikrocontroller.net/articles/DIY_Lernf%C3%A4hige_Fernbedienung_mit_IRMP
Das Projekt wurde im Atmelstudio 4 erstellt.
Laut WEB lässt sich das Projekt importieren, das habe ich versucht und
hab nur Fehler geerntet.
Schritt 2, neues Projekt im Studio angelegt, die main.c umbenannt und
den Source eingefügt.
Die F_CPU in den Symbols definiert.
Im Projekt-Explorer habe ich die Headerfiles hinzugefügt.
Beim Erstellen hagelt es Fehler.
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\Debug\Makefile(106,1): error: recipe for target 'remotecontrol.elf' failed
3
remotecontrol.o: In function `__vector_11':
4
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(656,1): error: undefined reference to `irsnd_ISR'
5
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(656,1): error: undefined reference to `irmp_ISR'
6
remotecontrol.o: In function `send_key':
7
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(703,1): error: undefined reference to `irsnd_send_data'
8
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(705,1): error: undefined reference to `irsnd_is_busy'
9
remotecontrol.o: In function `main':
10
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(736,1): error: undefined reference to `irmp_init'
11
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(737,1): error: undefined reference to `irsnd_init'
12
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(738,1): error: undefined reference to `irsnd_set_callback_ptr'
13
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(796,1): error: undefined reference to `irmp_get_data'
14
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(808,1): error: undefined reference to `irmp_get_data'
15
F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(849,1): error: undefined reference to `irmp_get_data'
Nach stundenlanger Suche und Nachfragen bei anderen...
Kann mir einer hier helfen?
Ich hab die Fehler auch nur in diesem Projekt, andere Projekte laufen
tadellos.
Grüße Klaus
Klaus H. schrieb:> Ja, da es eine lernbare Fernbedienung werden sollte ;-)
Dann mach aber erstmal einen einfachen Schritt und compiliere nur IRMP.
Dann geht es weiter. Es reicht NICHT, einfach die Quelltexte in ein
Projekt zu schütten. Das kann vielleicht ChatGPT . . .
Hallo Wastl,
danke, das Projekt funktioniert.
Jetzt fang ich mal an die Unterschiede zu suchen.
Mich interessiert es ja doch schon, was ich falsch gemacht habe.
Grüße Klaus
Klaus H. schrieb:> Mich interessiert es ja doch schon, was ich falsch gemacht habe.
Offensichtlich so ziemlich alles.
Nebenbei:
> im Atmelstudio 4
Nein. Sondern: AVR Studio 4.xx
> Atmelstudio 7
Nein. Sondern: Atmel Studio 7.xx
Spielt zwar keine grosse Rolle, im Hintergrund (Background)
aber doch ....
Hallo Wastl,
danke für die Tips.
ich werde das nächste mal die korrekten Bezeichnungen der einzelnen IDEs
verwenden.
Ich habe die Files verglichen und nur marginale Unterschiede
festgestellt, die bei der Übertragung in meinen Versuch auch keine
Besserung brachten.
Kannst du mir und all denen die mal vor dem gleichen Problem stehen, die
Lösung des Problems kund tun?
Danke und Grüße Klaus
Wastl schrieb:> Klaus H. schrieb:>> Mich interessiert es ja doch schon, was ich falsch gemacht habe.>> Offensichtlich so ziemlich alles.>> Nebenbei:>>> im Atmelstudio 4>> Nein. Sondern: AVR Studio 4.xx>>> Atmelstudio 7>> Nein. Sondern: Atmel Studio 7.xx>> Spielt zwar keine grosse Rolle, im Hintergrund (Background)> aber doch ....
Hallo Wastl,
wie soll man denn lernen wenn man keine Tipps bekommt, wo man den Fehler
suchen kann?
Das Projekt zu liefern ist das eine, nur wollen wir hier alle lernen und
besser werden.
Grüße Klaus
Habe im Anhang die Fehlermeldungen etwas anders formatiert.
Wenn ich mich richtig erinnere, müssen externe c-Sourcen eingebunden
werden.
Im SolutionExplorer mit "Rechtsklick" auf das Projekt, "Add", "Existing
Item" die externen c-Sourcen einfügen. Die Dateien werden dann unterhalb
von main.c im SolutionExplorer gelistet.
Die Pfade zu den *.c und *.h müssen bekannt sein. Im SolutionExplorer
mit "Rechtsklick" auf das Projekt, "Properties", "Toolchain",
"Compiler", "Directories" in die Liste eintragen.