Hallo zusammen, ich hab eigentlich eine ganz einfache frage, ich würde gerne einen Ausgang von meinem Microcontroller auf "1" und wenn das geklappt hat wieder auf "0" setzen. bisher habe ich folgend Programm geschrieben: #include <avr/io.h> int main (void) { // PC0 als Ausgang setzen DDRC = (1<<PC0); // PC0 auf 1 setzen while(1) { } return 0; } allerdings wird mein Ausgang nicht gesetzt, kann mir jemand sagen was ich falsch mache, bzw, wie muss ich mein Programm ergänzen? sorry bin totaler Anfänger
bitmanipulation Mit DDRx bestimmst du nur die Richtung vom Port (Ein/Ausgang). Wenn Ausgang musst du PORTx beschreiben um die Pins zu setzen / zu löschen. Guckst du Datenblatt.
> allerdings wird mein Ausgang nicht gesetzt, kann mir jemand sagen was > ich falsch mache, bzw, wie muss ich mein Programm ergänzen?
1 | > #include <avr/io.h> |
2 | int main (void) { |
3 | |
4 | // PC0 als Ausgang setzen
|
5 | DDRC = (1<<PC0); |
6 | // PC0 auf 1 setzen
|
7 | PORTC |= (1<<PC0); |
8 | |
9 | while(1) { |
10 | |
11 | }
|
12 | return 0; |
13 | |
14 | }
|
Lies bitte die Links! Genau aus dem Grund hat sich nämlich mal wer hingesetzt und das alles in Artikln zusammengefasst, damit man nicht bei jedem wieder bei 0 anfangen muss mit erklären Bitmanipulation AVR-GCC-Tutorial
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.