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. "C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\bin\avr-gcc.exe " -o remotecontrol.elf remotecontrol.o -Wl,-Map="remotecontrol.map" -Wl,--start-group -Wl,-lm -Wl,--end-group -Wl,--gc-sections -mmcu=atmega168 -B "C:\Program Files (x86)\Atmel\Studio\7.0\Packs\Atmel\ATmega_DFP\1.6.364\gcc\dev\atmega168" F:\Atmel\Studio\IR\remotecontrol\remotecontrol\Debug\Makefile(106,1): error: recipe for target 'remotecontrol.elf' failed remotecontrol.o: In function `__vector_11': F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(656,1): error: undefined reference to `irsnd_ISR' F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(656,1): error: undefined reference to `irmp_ISR' remotecontrol.o: In function `send_key': F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(703,1): error: undefined reference to `irsnd_send_data' F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(705,1): error: undefined reference to `irsnd_is_busy' remotecontrol.o: In function `main': F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(736,1): error: undefined reference to `irmp_init' F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(737,1): error: undefined reference to `irsnd_init' F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(738,1): error: undefined reference to `irsnd_set_callback_ptr' F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(796,1): error: undefined reference to `irmp_get_data' F:\Atmel\Studio\IR\remotecontrol\remotecontrol\remotecontrol.c(808,1): error: undefined reference to `irmp_get_data' 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
Sieht komisch aus. Bei mir lief das problemlos, siehe Anhang.
Hast du irgendwie da zwei Projekt zusammengerührt? Denn IRMP ist der Empfänger, irsnd der Sender.
Ja, da es eine lernbare Fernbedienung werden sollte ;-)
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 Falk,
ich habe das ganze auch noch separat probiert.
ein ganz winziges Projekt:
#include <avr/io.h>
#include "irmpconfig.h"
#include "irmp.h"
int main(void)
{
/* Replace with your application code */
irmp_init ();
//irsnd_init();
//irsnd_set_callback_ptr (led_callback);
while (1)
{
}
}
und das knallt auch schon.
Und wenn ich dein Projekt verwende:
process_begin: CreateProcess(NULL, "C:\Program Files
(x86)\WinAVR-20100110\bin\avr-gcc.exe" -x c -funsigned-char
-funsigned-bitfields -DF_CPU=16000000UL "-IC:\Program Files
(x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include" -Os
-ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall
-mmcu=atmega2560 -c -gdwarf-2 -std=gnu99 -MD -MP -MF irmp.d -MTirmp.d
-MTirmp.o -o irmp.o .././irmp.c, ...) failed.
make (e=2): Das System kann die angegebene Datei nicht finden.
make: *** [irmp.o] Error 2
make: *** Waiting for unfinished jobs....
Building file: .././irmp-main-avr-uart.c
Invoking: AVR/GNU C Compiler : 0.0.0
process_begin: CreateProcess(NULL, "C:\Program Files
(x86)\WinAVR-20100110\bin\avr-gcc.exe" -x c -funsigned-char
-funsigned-bitfields -DF_CPU=16000000UL "-IC:\Program Files
(x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include" -Os
-ffunction-sections -fdata-sections -fpack-struct -fshort-enums -Wall
-mmcu=atmega2560 -c -gdwarf-2 -std=gnu99 -MD -MP -MF
irmp-main-avr-uart.d -MTirmp-main-avr-uart.d -MTirmp-main-avr-uart.o -o
irmp-main-avr-uart.o .././irmp-main-avr-uart.c, ...) failed.
make (e=2): Das System kann die angegebene Datei nicht finden.
make: *** [irmp-main-avr-uart.o] Error 2
"C:\Program Files (x86)\WinAVR-20100110\bin\avr-gcc.exe" -x c
-funsigned-char -funsigned-bitfields -DF_CPU=16000000UL -I"C:\Program
Files (x86)\Atmel\Studio\7.0\Packs\atmel\ATmega_DFP\1.6.364\include"
-Os -ffunction-sections -fdata-sections -fpack-struct -fshort-enums
-Wall -mmcu=atmega2560 -c -gdwarf-2 -std=gnu99 -MD -MP -MF
"irmp-main-avr-uart.d" -MT"irmp-main-avr-uart.d"
-MT"irmp-main-avr-uart.o" -o "irmp-main-avr-uart.o"
".././irmp-main-avr-uart.c"
F:\Atmel\Studio\IR\IRMP_MS\IRMP\default\Makefile(88,1): error: recipe
for target 'irmp-main-avr-uart.o' failed
Done executing task "RunCompilerTask" -- FAILED.
Ich versuche mal dem Herum-Ge-Eiere hier ein Ende zu setzen.
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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.

