Hallo, besitze ein myAVRBoardMK3 und möchte gerne 2 PINs gleichzeitig
auf hight setzen - jedoch wird immer nur die erste auf high gesetzt.
1 | #define F_CPU 16000000
|
2 | #include <avr/io.h>
|
3 | #include <util/delay.h>
|
4 |
|
5 | uint64_t foo;
|
6 |
|
7 | int main(void)
|
8 | {
|
9 | DDRD = 0xff // PORTD ALS AUSGANG DEFINIEREN
|
10 |
|
11 | do {
|
12 |
|
13 | PORTD |= (1<<0x00) | (1<<0x01); // PIN 0 und 1 auf high setzen
|
14 | _delay_ms (1000);
|
15 | PORTD &= ~(1<<0x00) | (1<<0x01); // PIN 0 und 1 auf low setzen
|
16 |
|
17 | } while (1);
|
18 |
|
19 | return 0;
|
20 | }
|
Nur die LED an PIN 0 geht an und aus, aber nicht die am PIN 1 ??
schreibe ich sie untereinander, funktioniert alles einwandfrei
1 | PORTD |= (1<<0x00); // PIN 0 auf high setzen
|
2 | PORTD |= (1<<0x01); // PIN 1 auf high setzen
|
3 | _delay_ms (1000);
|
4 | PORTD &= ~(1<<0x00); // PIN 0 auf low setzen
|
5 | PORTD &= ~(1<<0x01); // PIN 1 auf low setzen
|
Was mache ich verkehrt, denn laut "AVR-GCC-Tutorial (Seite 18)" ist
obige Schreibweise doch richtig?
Danke
samsung