Hallo, ich habe ein Programm in C geschrieben, das die Liniensensoren permanent auswerten und den Wert auf der BGX1-Displayerweiterung ausgeben soll.
Das Kompilieren klappt fehlerfrei, doch beim build spuckt der Linker ein paar Fehlermeldungen aus. Kann sich jemand einen Reim darauf machen und mir helfen das Problem zu lösen?
In den Compilersettings habe ich BGX-Support und printf angeschaltet.
Lib 3.4 und avr-gcc 4.3.4.
/* NIBObee C project */
/* Includes für den Zugriff auf die NIBObee Bibliothek */
#include <nibobee/iodefs.h> // digitale Ein-/Ausgänge allgemein
#include <nibobee/i2cmaster.h>
#include <nibobee/bgx1.h>
#include <nibobee/analog.h> // analoge Eingänge
#include <nibobee/led.h> // Ein-/Ausschalten der LEDs
#include <nibobee/delay.h>
#include <nibobee/clock.h> // Funktionen zur genauen Zeiterfassung/Verzögerung (optional)
#include <nibobee/odometry.h> // Auswertung der Drehimpulse der Räder
#include <nibobee/motpwm.h> // Ansteuerung der Motoren
#include <nibobee/motpid.h> // Ansteuerung der Motoren
#include <nibobee/sens.h> // Fühler
#include <nibobee/base.h> // Basisfunktionen / Initialisierung
#include <nibobee/line.h>
#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdio.h>
char text[32];
uint8_t sensr, sensc, sensl;
int main() {
i2c_init();
bgx1_init();
analog_init();
line_init();
//set_output_group(IO_SENS); //ist das notwendig?
sei();
delay(1500);
void bgx1_reset();
while (1) {
sensr = bgx1_getAnalog(line_get(LINE_R));
sensc = bgx1_getAnalog(line_get(LINE_C));
sensl = bgx1_getAnalog(line_get(LINE_L));
sprintf(text, "%d = Rechts\n %d = Mitte\n %d = Links\n", (uint8_t)sensr, (uint8_t)sensc, (uint8_t)sensl);
bgx1_termGoto(0,1);
bgx1_termPrint(text);
}
return 0;
}
Die Fehlermeldung:
compiling main.c ...
compiled 54 lines
creating bgx1signal.zip ...
linking program ...
/opt/avr/niborobolib-3.4/lib/nibobee-m16-15/libnibobee_bgx1.a(bgx1.o): In function `bgx1_termPrint_P':
bgx1.c:(.text.bgx1_termPrint_P+0x16): undefined reference to `__strlen_P'
/opt/avr/niborobolib-3.4/lib/nibobee-m16-15/libnibobee_bgx1.a(bgx1.o): In function `bgx1_textWidth_P':
bgx1.c:(.text.bgx1_textWidth_P+0x16): undefined reference to `__strlen_P'
/opt/avr/niborobolib-3.4/lib/nibobee-m16-15/libnibobee_bgx1.a(bgx1.o): In function `bgx1_print_P':
bgx1.c:(.text.bgx1_print_P+0x16): undefined reference to `__strlen_P'
Vielen Dank für´s Anschauen.