lolman schrieb:
>
1 | #include <avr/io.h>
|
2 | > #include <avr/delay.h>
|
3 | >
|
4 | > int main(void)
|
5 | > {
|
6 | > DDRB |= (1<<PB4); // set LED pin PB4 to output
|
7 | > while(1)
|
8 | > {
|
9 | > PORTB |= (1<<PB4); // drive PB4 high
|
10 | > _delay_ms(1);
|
11 | > }
|
12 | > }
|
Ich würde sagen:
Bei dem Programm und der Schaltung ist genau das, was zu erwarten ist.
Also: Alles in Ordnung. Genau das hast du programmiert.
Das du überhaupt was siehst, ist eher verwunderlich. Sobald du den Pin
auf Ausgang schaltest, ist der Pin gezielt auf 0 - die LED leuchtet. In
dem Moment, in dem du innerhalb der Schleife den Pin auf 1 schaltest,
geht sie wieder aus.
Brenn mal das hier rein
1 | #include <avr/io.h>
|
2 | #include <avr/delay.h>
|
3 |
|
4 | int main(void)
|
5 | {
|
6 | DDRB |= (1<<PB4); // set LED pin PB4 to output
|
7 |
|
8 | while(1)
|
9 | {
|
10 | PORTB |= (1<<PB4); // drive PB4 high
|
11 | _delay_ms(500);
|
12 | PORTB &= ~(1<<PB4); // drive PB4 low
|
13 | _delay_ms(500);
|
14 | }
|
15 | }
|