1 | #include <avr/io.h>
|
2 | #include <util/delay.h>
|
3 |
|
4 | void ioinit(void);
|
5 |
|
6 | // Hauptprogramm
|
7 | int main(void) {
|
8 | unsigned char i;
|
9 | int zaehler=1;
|
10 | ioinit();
|
11 |
|
12 | // Endlosschleife
|
13 | while (1) {
|
14 |
|
15 | if(zaehler==0)
|
16 | {
|
17 | do {
|
18 | PORTC = i;
|
19 | i++;
|
20 | if(i ==254){zaehler=1;}
|
21 | }while(zaehler==1);
|
22 | }
|
23 |
|
24 | if(zaehler==1)
|
25 | {
|
26 | do
|
27 | {i--;
|
28 | PORTC = i;
|
29 |
|
30 | if(i ==1){zaehler=0;}
|
31 | }
|
32 | while(zaehler==0);
|
33 | }
|
34 |
|
35 | }
|
36 |
|
37 | return 0;
|
38 | }
|
39 |
|
40 | // Initialisierung
|
41 | void ioinit(void)
|
42 | {
|
43 | DDRC = 0xff; // PortD als Ausgang deklarieren
|
44 | PORTC = 0x00; // Ports auf LOW schalten
|
45 |
|
46 | }
|
Juten Abend, ich weis es ist bestimmt ganz simple, nur ich hänge schon
seid 2 stunden dran :( ich möchte port c binär hoch und runter zählen,
nur das automatische runter bzw hoch zählen klappt nicht, entweder er
zählt standig nur hoch oder nur runter, jenachdem was ich ihm als
startwert für den zaehler vorgebe