Hallo,
ich habe ein merkwürdiges Problem, woran ich als Anfänger scheiter. Ich
habe ein Arduino Uno, den ich habe, da hier alles drauf ist (quarz,
Programmierschnittstelle, Kondensatoren usw). Programmieren tu ich aber
über atmelstudio in normalem C.
Es ist ja eine LED an PB5 (arduino Pin13) angebracht. Diese möchte ich
blinken lassen
1 | #define F_CPU 16000000UL
|
2 | #include <util/delay.h>
|
3 | #include <avr/io.h>
|
4 |
|
5 |
|
6 | int main(void)
|
7 | {
|
8 | DDRB |= PINB5;
|
9 | PORTB |= PORTB5;
|
10 | while(1){
|
11 | PORTB ^= ( 1 << PORTB5 );
|
12 | _delay_ms(1000);
|
13 |
|
14 | }
|
15 |
|
16 | }
|
Aber die LED bleibt an.
tausche ich die Zeile
DDRB |= PINB5 mit
DDRB |= 0xFF
funktioniert es.
aber warum funktioniert das nicht, wenn ich nur PINB5 als Ausgang setze?
habe auch alle anderen probiert (einfach die zahlen von 0 bis 7 (aus
iom328p.h)) aber nie fängt die an zu blinken.