lcd-routines.c lässt sich nicht kompilieren

Gast #2006380
Lesenswert?

Hallo, ich habe heute versucht lcd-routines.c zu kompilieren und 
verwende die Dateien von 
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/LCD-Ansteuerung

Die Fehlermeldung ist:
root:firmware r00t$ make
avr-gcc -Wall -Os -DF_CPU=12000000 -mmcu=atmega8 -c main.c -o main.o
avr-gcc -Wall -Os -DF_CPU=12000000 -mmcu=atmega8 -c lcd-routines.c -o 
lcd-routines.o
lcd-routines.c: In function 'lcd_generatechar':
lcd-routines.c:172: error: 'for' loop initial declaration used outside 
C99 mode
make: *** [lcd-routines.o] Error 1

Der betroffene Abschnitt:

void lcd_generatechar( uint8_t code, const uint8_t *data )
{
    // Startposition des Zeichens einstellen
    lcd_command( LCD_SET_CGADR | (code<<3) );

    // Bitmuster übertragen
    for ( uint8_t i=0; i<8; i++ )
    {
        lcd_data( data[i] );
    }
}

Vielleicht könntt ihr mir ja helfen,

Vielen Dank

~Flo

PS: Verwende CrossPack auf Mac OS X 10.6
#2340110
Lesenswert?

Ich hab die Variablendeklaration einfach "nach oben geholt", hat dann 
auch funktioniert:
1
void lcd_generatechar( uint8_t code, const uint8_t *data )
2
{
3
    uint8_t i;
4

5
    // Startposition des Zeichens einstellen
6
    lcd_command( LCD_SET_CGADR | (code<<3) );
7

8
    // Bitmuster übertragen
9
    for ( i=0; i<8; i++ )
10
    {
11
        lcd_data( data[i] );
12
    }
13
}

Oder eben in der Zeile des Makefiles, wo der avr-gcc direkt involviert 
ist, die o.g. Ergänzung hinzufügen.

mfg mf

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren