www.mikrocontroller.net

Forum: Compiler & IDEs Werd' noch wahnsinnig, Präprozessor-> #define


Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also im Header File steht drin:
#define OFF 0
#define ON 1
#define SINE 2;
#define SQUARE 3;
#define SAWTOOTH 4;
#define NOISE 5;
und nun will ich abfragen, was im LCD angezeigt werden soll:
void showfunction(tsOUTPUT *myoutput)
{
 lcd_gotoxy(0,0);
 lcd_puts("Function ");
 lcd_puts(getFlashMenuEntry(lcdchannel));
 lcd_putc(myoutput->OutputName);
 lcd_gotoxy(0,1);
 switch(myoutput->Type)
 {
  case 2 : 
   lcd_puts(getFlashMenuEntry(lcdsine));
  break;
  case SQUARE:
   lcd_puts(getFlashMenuEntry(lcdsquare));
  break;
  case SAWTOOTH:
   lcd_puts(getFlashMenuEntry(lcdsawtooth));
  break;
  case NOISE:
   lcd_puts(getFlashMenuEntry(lcdnoise));
  break;
 }
}
Und das Dolle ist nun folgender Fehler im WinAVR:
demo.c: In function `showfunction':
demo.c:336: Fehler: Syntaxfehler vor »;«-Zeichen
demo.c:339: Fehler: Syntaxfehler vor »;«-Zeichen
demo.c:342: Fehler: Syntaxfehler vor »;«-Zeichen
Und kaum habe ich SINE gegen 2 ersetzt sind's nur noch drei statt vier 
Fehler ...
Kann mich bitte mal einer aufklären, warum der Präprozessor nicht wie es 
sich gehört SQUARE gegen 3 ersetzt ?
Danke,
Markus

Autor: Peter Sager (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann korrigiere doch ganz einfach die Sachen, worüber der Compiler 
mekert:

=> lasse die ';' Zeichen hinter den defines weg !!! <=

Autor: Markus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
AAAARGHHHHH !!!!
Mann bin ich blind !
Sowas von peinlich, aber ist auch schon bisschen zu lange jetzt ;)
Danke,
Markus

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.