lcd-routines.c lässt sich nicht kompilieren

Gast #2006380
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
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

Eine eigene Frage? Dieser Thread ist über 15 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.