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
#define F_CPU 16000000UL; da muss da Semikolon weg.
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.
Danke, werd ich machen! Vielleicht kannst du mir auch noch sagen, warum die LED nur ganz schwach leuchtet!? Was kann ich verbessern? Danke.Pad
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.