Forum: Mikrocontroller und Digitale Elektronik expected ‘) ’ before ‘; ’ token Fehler in delay.h


von Patrick S. (Firma: LKW&Koks_AG) (padderick3)


Angehängte Dateien:

Lesenswert?

Hi,

ich will eine am Atmega32 PB0 angeschlossene LED zum Blinken bringen 
sobald PB2 high ist.
Ich habe nun den Code für die Bedingung, dass PB2 high sein muss 
angehängt und seitdem bekomm ich zwei mal den Fehler "expected ‘) ’ 
before ‘; ’ token" in der delay_h, in der ich gar nichts geändert habe!

Woran könnt das liegen?
Passt mein Programm (oben angehängt) oder kommt der Fehler daher?

Vielen Dank,

Patrick

von Captain S. (captainsubtext)


Lesenswert?

#define F_CPU 16000000UL;

da muss da Semikolon weg.

von Sven P. (Gast)


Lesenswert?

Patrick Seebörger schrieb:
> Woran könnt das liegen?
Am Semikolon in
1
#define F_CPU 16000000UL;

Schau dir in einem C-Buch die Grundlagen zum Präprozessor an, sind nur 
ein paar Seiten.

von Patrick S. (Firma: LKW&Koks_AG) (padderick3)


Lesenswert?

Danke, werd ich machen!
Vielleicht kannst du mir auch noch sagen, warum die LED nur ganz schwach 
leuchtet!?
Was kann ich verbessern?

Danke.Pad

von Patrick S. (Firma: LKW&Koks_AG) (padderick3)


Lesenswert?

Danke. Fehler ist weg!

von Michael H. (michael_h45)


Lesenswert?

Patrick Seebörger schrieb:
> Vielleicht kannst du mir auch noch sagen, warum die LED nur ganz schwach
> leuchtet!?
1
  DDRB = 0x01 << PB0;                        /*sets PortB.0 as output */
2
  DDRB = 0x00 << PB2;                        /*sets PortB.2 as input */

Erste Zeile:
1
DDRB = 0x01 << PB0;     // wird zu:
2
DDRB = 0x01 << 0;       // wird zu:
3
DDRB = 0x01;

Zweite Zeile:
1
DDRB = 0x00 << PB2;    // wird zu:
2
DDRB = 0x00 << 2;      // wird zu:
3
DDRB = 0x00;

DDRB ist also 0x00. PB0 ist ein Eingang und deine LED leuchtet schwach, 
weil sie nur über den Pullup getrieben wird.

Lies mal das: Bitmanipulation

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.