Hallo, Ich rätsle gerade, weshalb: uint8_t byte = pgm_read_byte(&Font[byte][i]); lcd_writebyte(byte); anders funktioniert als: lcd_writebyte(pgm_read_byte(&Font[byte][i])); Die zweite Variante funktioniert, die erste nicht. Wobei gcc allerdings brav warnt: s1d1565.c: In function 'lcd_writechar': s1d1565.c:67: warning: 'byte' may be used uninitialized in this function Ist das ein Bug, oder hab ich einfach die pgm_read_byte-funktion nicht richig verstanden? Danke im Vorraus, lg Clemens
> uint8_t byte = pgm_read_byte(&Font[byte][i]);
byte müsste sich selbst an den Haaren aus dem Sumpf ziehen ;-)
Ich würde eher sagen, du hast C nicht verstanden: Bei der ersten Möglichkeit weist du byte nirgends einen Wert zu, ehe du dieses verwendest.
schäm sowas peinliches ;) schäm sorry für den traffic :-/
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.