Moin Ritchie,
das sieht so aus, als fehle im Quellcode die include-Datei mit den Definitionen von PORTx, setportx... usw. Wenn ich mich richtig erinnere (habe die Dateien gerade nicht hier), ist das in ioxxx.h.
viele Grüße
Andreas
Hallo Zusammen,
ich versuche gerade das Testprogramm für den RN-Controller ans rennen zu bekommen und habe hier diese Fehler
Makefile soll so aussehen ...Code:/include/rncontrol.h: In Funktion »setportaon«: ./include/rncontrol.h:43: Fehler: »PORTA« nicht deklariert (erste Benutzung in dieser Funktion) ./include/rncontrol.h:43: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt ./include/rncontrol.h:43: Fehler: für jede Funktion in der er auftritt.) ./include/rncontrol.h: In Funktion »setportbon«: ./include/rncontrol.h:46: Fehler: »PORTB« nicht deklariert (erste Benutzung in dieser Funktion) ./include/rncontrol.h: In Funktion »setportcon«: ./include/rncontrol.h:49: Fehler: »PORTC« nicht deklariert (erste Benutzung in dieser Funktion) ./include/rncontrol.h: In Funktion »setportdon«: ./include/rncontrol.h:52: Fehler: »PORTD« nicht deklariert (erste Benutzung in dieser Funktion) ./include/rncontrol.h: In Funktion »setportaoff«:
Was habe ich hier vergessen ?Code:GCC_OPTIONS = -W COMPILER = avr-gcc #COMPILER = g++ TARGETNAME = rntest DEBUG_OPTIONS = LINUX_INCLUDE = LOCAL_INCLUDE = ./include/ LOCAL_OBJ = ./obj/ LOCAL_SRC = ./source/ OBJS = obj/rncontrol-test.o all: ${TARGETNAME} ${TARGETNAME}: $(OBJS) $(COMPILER) $(OBJS) -o ${TARGETNAME} $(LOCAL_OBJ)rncontrol-test.o: $(LOCAL_SRC)rncontrol-test.c $(LOCAL_INCLUDE)rncontrol.h $(COMPILER) $(GCC_OPTIONS) $(DEBUG_OPTIONS) -c -o $(LOCAL_OBJ)rncontrol-test.o -I$(LOCAL_INCLUDE) $(LOCAL_SRC)rncontrol-test.c dummy: # Project temp daten loeschen clean: rm -f ${LOCAL_OBJ}*.o *~ ${LOCAL_SRC}*~ $(LOCAL_INCLUDE)*~ rm -f ${TARGETNAME}
Ich verwende kubuntu 11.04 als Entwicklungsbasis ...
Gruss R.
Kaum macht man es richtig, schon funktioniert's ...
Moin Ritchie,
das sieht so aus, als fehle im Quellcode die include-Datei mit den Definitionen von PORTx, setportx... usw. Wenn ich mich richtig erinnere (habe die Dateien gerade nicht hier), ist das in ioxxx.h.
viele Grüße
Andreas
#define true ('/'/'/')
#define false ('-'-'-')
Hi Andreas,
ich habe eigentlich den Source code direkt von der RN shop CD verwendet. Dachte der Code wäre direkt lauffähig.
Da ich von der PIC Controller Seite her komme, muss ich mich hier erst neu Einarbeiten.
Gibt es hierzu einen guten Link, der mir die Infos gibt ?
Habe hier meine erste Antwort :
http://www.mikrocontroller.net/articles/AVR_und_Linux
Gruss R.
Geändert von Ritchie (20.09.2011 um 09:12 Uhr)
Kaum macht man es richtig, schon funktioniert's ...
Ich bin ja selbst kompletter µC-Anfänger, kenne ich aber mit C, make u.ä. aus. Hast Du vielleicht eine Fehlermeldung, dass eine Include-Datei fehlt? Dann müsstest Du im Makefile evtl. noch den Pfad zum Include-Verzeichnis des avr-gcc in den Include-Pfad aufnehmen. Oder sowas wie
#include <io.h>
oder
#include "io.h"
ins Sourcefile eintragen.
viele Grüße
Andreas
#define true ('/'/'/')
#define false ('-'-'-')
Was da fehlt, ist die Angabe eines Controllers beim Compilieren und Linken mittels -mmcu.
MfG
Stefan
Kann es sein, dass "PORTB" in Deiner io*.h als PB definiert ist? Ich glaube so etwas ist mir schon mal vorgekommen.... ./include/rncontrol.h:43: Fehler: »PORTA« nicht deklariert (erste Benutzung in dieser Funktion)
...
Stefan: lustiges QR - und ziemlich wichtig.
Ciao sagt der JoeamBerg
Hi,
habe mir mal einen make Datei von WinAvr angesehen.
Es ist wohl so, wie "Sternst" sagt.
Meine make Datei war von einem ARM System her, abgewandelt. Die scheint ja nicht zu passen im Ansatz.
Werde wohl eher auf fertige System zurückgreifen, als diese im ersten Schuss selber zu erstellen.
Gruss R.
Kaum macht man es richtig, schon funktioniert's ...
Lesezeichen