Gast
#4934573
Hallo zusammen, ich bin Anfänger was C angeht (bin seit 2 Wochen dabei) und muss das LC-Display EA-GOGL128 für unser Technikerprojekt ansteuern. Leider stosse ich mit meinem geringen Wissen an der Library von Jan M.(Beitrag "Library für EA-DOGM Grafikdisplays inkl. Font-Generator") hier aus dem Forum an meine Grenzen. Den ATMega1284P habe ich wie folgt mit dem LC-Display verbunden: MOSI (PB5) -> SI SCK (PB7) -> SCL A0 (PB0) -> A0 PB1 -> RST SS (PB4) -> CS In der Library habe ich folgendes eingefügt bzw. geändert: Dogm-graphic.h: #define DISPLAY_TYPE 128 #define LCD_USE_CHIPSELECT 1 #define LCD_USE_BACKLIGHT 0 #define PORT_A0 PORTB #define DDR_A0 DDRB #define PIN_A0 0 #define PORT_RST PORTB #define DDR_RST DDRB #define PIN_RST 1 #if LCD_USE_CHIPSELECT == 1 #define PORT_CS PORTB #define DDR_CS DDRB #define PIN_CS PORTB4 #endif #define SPI_SS PB4 #define SPI_MOSI PB5 #define SPI_SCK PB7 Dogm-graphic.c: Die Init funktion aus dem beispiel übernommen: void init_spi_lcd() { DDRB = (1 << SPI_MOSI) | (1 << SPI_SCK) | (1 << SPI_SS)| (1 << PB0); SPCR = 0 << SPIE | 1 << SPE | 0 << DORD | 1 << MSTR | 1 << CPOL | 1 << CPHA | 0 << SPR1 | 0 << SPR0; SPSR = 1 << SPI2X; SPDR = LCD_NO_OP; //Do not use 0 here, only LCD_NOP is allowed! } Im Solution Explorer die Dateien dogm-graphic.c und .h sowie font.c und .h eingefügt. Die main.c sieht wie folgt aus: #define F_CPU 8000000UL #include <util/delay.h> #include <avr/io.h> #include "dogm-graphic.h" int main(void) { //lcd_init(); lcd_init(); while (1) { lcd_put_string_P(FONT_FIXED_8, NORMAL, PSTR("Hallo Welt")); } } Das ganze programmiere ich im Atmel Studio 7 und bekomme leider einen compilierfehler: Undefined reference to ´font_fixed_8px` Zu der Library gehört noch der Ordner Fonts, den ich im Projektordner abgelegt habe, doch ich weiß nicht genau ob ich diesen noch in dem Projekt implementieren muss? Vielleicht kann mir jemand etwas behilflich sein? Vielen Dank im vorraus.