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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.