mikrocontroller.net

Forum: Compiler & IDEs Fehler durch Konstante?


Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe glaube ich einen ganz dummen Anfängerfehler drin, aber ich sehe 
ihn nicht :/
#include <avr/io.h>
#include <avr/interrupt.h>

#define RED  43;
#define GREEN 109;
#define BLUE  2;
#define STEPS  256;

volatile uint8_t i = 0;


ISR(TIMER0_OVF_vect)
{
  i++;
  if(i == RED) {
    PORTC |= (1<<PB0);
    }
  if(i == GREEN) {
    PORTC |= (1<<PB1);
    }
  if(i == BLUE) {
    PORTC |= (1<<PB2);
    }
  if(i==STEPS) {
    i=0;
    PORTC &= ~((1<<PB0) | (1<<PB1) | (1<<PB2));
    }
}

ES kommt foglende Fehlermeldung... Ich finde dass genug Klammern gesetzt 
sind...

sender.c:15: error: expected ')' before ';' token
sender.c:18: error: expected ')' before ';' token
sender.c:21: error: expected ')' before ';' token
sender.c:24: error: expected ')' before ';' token

Autor: Johann L. (gjlayde) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
i ist 8 bit und nie gleich STEPS, es muss an der Stelle gegen 0 
verglichen werden.

Warnungen aktivieren und beachten hätte hier gehülft.

Hinter die Makros gehört hier kein ; sonst steht der später wo er nicht 
hinsoll (Textersatz)

Autor: hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hinter define steht ein ";" -> Vergleich IF(i==43;){

das mag der Compiler nicht!!

Vorsicht Steps sind 256 und du vergleichst mit i als uint8
(dieser fehler kämme auch noch ;)

gruß hans

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
danke, habs auf 16 bit geändert, aber die Fehler kommen immer noch...

Autor: Anfänger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Überschneidungspost, die ";" waren die Übeltäter, danke dir!

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.