Forum: Mikrocontroller und Digitale Elektronik Probleme Portierung der IR-Fernbedienung in Atmelstudio 7


von Klaus H. (Firma: privat) (klaus777)


Angehängte Dateien:

Lesenswert?

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

von Falk B. (falk)


Angehängte Dateien:

Lesenswert?

Sieht komisch aus. Bei mir lief das problemlos, siehe Anhang.

von Falk B. (falk)


Lesenswert?

Hast du irgendwie da zwei Projekt zusammengerührt? Denn IRMP ist der 
Empfänger, irsnd der Sender.

von Klaus H. (Firma: privat) (klaus777)


Lesenswert?

Ja, da es eine lernbare Fernbedienung werden sollte ;-)

von Falk B. (falk)


Lesenswert?

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 . . .

von Klaus H. (Firma: privat) (klaus777)


Lesenswert?

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.

von Wastl (hartundweichware)


Angehängte Dateien:

Lesenswert?

Ich versuche mal dem Herum-Ge-Eiere hier ein Ende zu setzen.

von Klaus H. (Firma: privat) (klaus777)


Lesenswert?

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

von Wastl (hartundweichware)


Lesenswert?

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 ....

von Klaus H. (Firma: privat) (klaus777)


Lesenswert?

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
Noch kein Account? Hier anmelden.