Gast
#284094
Moin
Ich will mit meinem ATmega128 auf einem GLCD große Buchstaben
darstellen(softfonts). Sie sind im Flash der MC als zweidimensionales
Array abgelegt:
//////////////////////////////////
#include <avr/pgmspace.h>
const unsigned char fontsbig[104][48] PROGMEM = {
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, //
ASCII = 032 SPACE
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},
{ 0x00,0x00,0x00,0x00,0x00,0x00,0x60,0x00,0x60,0x00,0x60,0x00, //
ASCII = 033 !
0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,0x60,0x00,
...
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
//////////////////////////////////
Zugreifen von der Grafikroutine möchte ich so
//////////////////////////////////
currentbyte=pgm_read_byte(&fontsbig[sign][i]);
//////////////////////////////////
Doch an der Stelle meckert mein Compiler(avr-gcc (GCC) 3.4.3) und
schmeißt mir diese Fehlermeldung vor die Füße:
//////////////////////////////////
lcd_fonts.c:58: error: invalid use of array with unspecified bounds
//////////////////////////////////
Nach meinem Wissen hab ich hier nicht verkehrt gemacht, bei
eindimensionalen Arrays klappt es auf diese Weise ja auch.
Wo ist hier der Haken. Oder ist es gar ein Compilerfehler?
Danke Schuddi