Hallo
ich arbeite mich gerade in einen Attiny 841 ein. Habe zum Anfang 8
Ausgänge mit LEDs angezeigt. Es wurde die Fuse auf intern mit 8 MHz
eingestellt. Die LEDs werden nacheinander 0,5 Sekunden eingeschaltet und
0,5 Sekunden ausgeschaltet. Damit ergibt sich für jede LED 1 Sekunde,
bei 8 LEDs müssten sich 8 Sekunden für den durchlauf ergeben. Leider
sind die LEDs weit aus schneller. Gefühlt ca. 1 bis 2 Sekunden.
Das Programm für die LEDs:
1 | // Pin 1
|
2 | PORTA &= ~(1<<PA0); // Schaltet Pin aus
|
3 | _delay_ms(500); // Pause 500 ms
|
4 | PORTA |= (1<<PA0); // Schaltet Pin ein
|
5 | _delay_ms(500); // Pause 500 ms
|
6 |
|
7 | // PIN 2
|
8 | PORTA &= ~(1<<PA1); // Schaltet Pin aus
|
9 | _delay_ms(500); // Pause 500 ms
|
10 | PORTA |= (1<<PA1); // Schaltet Pin ein
|
11 | _delay_ms(500); // Pause 500 ms
|
12 |
|
13 | // PIN 3
|
14 | PORTA &= ~(1<<PA2); // Schaltet Pin aus
|
15 | _delay_ms(500); // Pause 500 ms
|
16 | PORTA |= (1<<PA2); // Schaltet Pin ein
|
17 | _delay_ms(500); // Pause 500 ms
|
18 |
|
19 | // PIN 4
|
20 | PORTA &= ~(1<<PA3); // Schaltet Pin aus
|
21 | _delay_ms(500); // Pause 500 ms
|
22 | PORTA |= (1<<PA3); // Schaltet Pin ein
|
23 | _delay_ms(500); // Pause 500 ms
|
24 |
|
25 | // PIN 5
|
26 | PORTA &= ~(1<<PA5); // Schaltet Pin aus
|
27 | _delay_ms(500); // Pause 500 ms
|
28 | PORTA |= (1<<PA5); // Schaltet Pin ein
|
29 | _delay_ms(500); // Pause 500 ms
|
30 |
|
31 | // PIN 6
|
32 | PORTA &= ~(1<<PA7); // Schaltet Pin aus
|
33 | _delay_ms(500); // Pause 500 ms
|
34 | PORTA |= (1<<PA7); // Schaltet Pin ein
|
35 | _delay_ms(500); // Pause 500 ms
|
36 |
|
37 | // PIN 7
|
38 | PORTB &= ~(1<<PB1); // Schaltet Pin aus
|
39 | _delay_ms(500); // Pause 500 ms
|
40 | PORTB |= (1<<PB1); // Schaltet Pin ein
|
41 | _delay_ms(500); // Pause 500 ms
|
42 |
|
43 | // PIN 8
|
44 | PORTB &= ~(1<<PB0); // Schaltet Pin aus
|
45 | _delay_ms(500); // Pause 500 ms
|
46 | PORTB |= (1<<PB0); // Schaltet Pin ein
|
47 | _delay_ms(500); // Pause 500 ms
|
48 |
|
49 | #include <util/delay.h> // Einbindung Datei Pause
|
50 | #include <avr/io.h> // Einbindung Datei Ausgänge
|
In den Bildern habe ich die Einstellung der Fuse dargestellt.
Wahrscheinlich was falsch eingestellt. Könnte mal jemand drüber schaun.
LG Kl