Forum: Compiler & IDEs Bug in avr-gcc?


von Clemens E. (linuxhippy)


Lesenswert?

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

von Stefan B. (stefan) Benutzerseite


Lesenswert?

> uint8_t byte = pgm_read_byte(&Font[byte][i]);

byte müsste sich selbst an den Haaren aus dem Sumpf ziehen ;-)

von Benedikt K. (benedikt)


Lesenswert?

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.

von Clemens E. (linuxhippy)


Lesenswert?

schäm
sowas peinliches ;)
schäm

sorry für den traffic :-/

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
Noch kein Account? Hier anmelden.