Hallo zusammen,
ich versuche gerade einen ATtiny 84 mit Platformio und einem Arduino als
ISP zu programmieren. Ich habe hier das Problem die Ausgänge zu
beschalten, in der Arduino-Schreibweise klappt es:
1 | digitalWrite(1, HIGH);
|
2 | digitalWrite(2, HIGH);
|
3 | digitalWrite(3, HIGH);
|
4 | delay(5000);
|
5 |
|
6 | digitalWrite(1, LOW);
|
7 | digitalWrite(2, LOW);
|
8 | digitalWrite(3, LOW);
|
9 | delay((5000);
|
10 | ...
|
nun möchte ich das ganze etwas effizenter gestalten und habe das hier
versucht:
1 |
|
2 | DDRB |= (1 << DDB1);// PB01 als Ausgang setzen
|
3 | DDRB |=(1 << DDB2); // PB02 als Ausgang setzen
|
4 | DDRB |=(1 << DDB3); // PB03 als Ausgang setzen
|
5 | DDRA |=(1 << DDA1); // PA1 als Ausgang setzen
|
6 |
|
7 | PORTB |= (1 << PORTB1); // PB1 auf 1 setzen
|
8 | PORTB |= (1 << PORTB2); // PB2 auf 1 setzen
|
9 | PORTB |= (1 << PORTB3); // PB3 auf 1 setzen
|
10 | PORTA |= (1 << PORTA1); // PA1 auf 1 setzen
|
11 | delay(5000);
|
12 |
|
13 | PORTB &= ~(1 << PORTB1); // PB1 auf 0 setzen
|
14 | PORTB &= ~(1 << PORTB2); // PB2 auf 0 setzen
|
15 | PORTB &= ~(1 << PORTB3); // PB3 auf 0 setzen
|
16 | PORTA &= ~(1 << PORTA1); // PA1 auf 0 setzen
|
17 | delay(5000);
|
PB01 und PB02 funktioniert noch, alles weitere funktioniert leider nicht
:-( Die Ausgänge PB3 und PA1... verändern sich nicht (kein 1 Signal)
Wie kann ich die PINS 3 (PB1), 5 (PB2), 6 (PA7), 7 (PA6), 8 (PA5), 9
(PA4), 10 (PA3), 11 (PA2), 12 (PA1), 13 (PA0) ansprechen und auf 1 und 0
setzen, was mache ich falsch? Beim compilieren und flashen des ATtiny
bekomme ich keine Fehlermeldung, das übertragen mit dem Arduino
funktioniert.
Viele Grüße
Thomas