Hallo liebe Community Könntet ihr mir vielleich erklären, warum dieses Programm so groß ist. Es ist genau ein kleines bisschen zu groß für meinen ATtiny2313. Ich hab aber absolut keine Ahnung warum, das Programm kann doch fast nix.
1 | #include <avr\io.h> |
2 | #define F_CPU 8000000UL /* Quarz mit 8 Mhz */ |
3 | #include <util/delay.h> |
4 | |
5 | int main(void) |
6 | {
|
7 | //**** Initialiserung ****
|
8 | |
9 | int anz_tastendr = 0, gedr = 0, anz_abl = 20; |
10 | double anz_abfragen=10000; |
11 | |
12 | DDRD = 0b01000000; // LED 1 ist Ausgang |
13 | DDRB = 0b00000000; // Taster (Bit 1) als Eingabe |
14 | |
15 | //**** Aufnahme der Anzahl Tastendrücke ****
|
16 | while (anz_abl > 0) |
17 | {
|
18 | anz_abfragen=10000; |
19 | |
20 | while (anz_abfragen>0) |
21 | {
|
22 | |
23 | if ((PINB & 0b00000010) != (0)) // Wenn Taster gedrückt |
24 | {
|
25 | |
26 | if (gedr != 0) anz_tastendr++; // Wenn er nicht schon gedrückt gewesen ist |
27 | gedr = 1; // jetzt war er gedrückt |
28 | |
29 | }
|
30 | |
31 | anz_abfragen--; |
32 | }
|
33 | |
34 | //**** Ausgabe des Blinkens ****
|
35 | if (anz_tastendr > 10) anz_tastendr = 10; |
36 | |
37 | |
38 | while (anz_tastendr > 0) |
39 | {
|
40 | PORTD = 0b01000000; |
41 | _delay_ms(20); |
42 | PORTD = 0b00000000; |
43 | _delay_ms(1000); |
44 | anz_tastendr--; |
45 | }
|
46 | |
47 | }
|
48 | |
49 | |
50 | return 0; |
51 | }
|