Hallo liebes Forum
Ich habe ein Frage zu einem kleinen Programm. Es geht darum im
Hauptprogramm die Variable "nummer" zu ändern und im Switch als Dualzahl
für ne 7 Segmentanzeige auf Portd ausgibt.
Das ganze würde natürlich auch einfacher ohne Switch gehen aber ich will
das so machen um das ganze später noch was anderes zu machen.
Beim kompilieren gibt es aber eine Fehlermeldung und ne Warnung:
Error
expected identifier or '(' before 'switch'
Warning
return type defaults to 'int' [enabled by default]
Was kann ich tun, damit es keine Fehler gibt?
Code:
1 | /*
|
2 | * ATmega8_7seg.c
|
3 | *
|
4 | * Created: 15.12.2013 20:44:39
|
5 | * Author: Valentin
|
6 | */
|
7 |
|
8 | #include <avr/io.h>
|
9 |
|
10 | #define F_CPU 8000000UL // 8 MHz
|
11 | #include <util/delay.h>
|
12 |
|
13 |
|
14 | //************Programm************
|
15 |
|
16 | main(void){ // Hauptprogramm
|
17 | DDRD = 0xFF; // Variabeln und Outputs anlegen
|
18 | unsigned char nummer;
|
19 | while(1){ // Endlosschleife
|
20 | nummer=0;
|
21 | nummer++;
|
22 | _delay_ms(1000);
|
23 | if(nummer>9)
|
24 | {
|
25 | nummer=0;
|
26 | }
|
27 |
|
28 | } // Ende von while(1)
|
29 | } // Ende von main(void)
|
30 |
|
31 |
|
32 | //************Funktionen************
|
33 |
|
34 | switch (nummer)
|
35 | {
|
36 | case 0: PORTD=0b00111111; break;
|
37 | case 1: PORTD=0b00000110; break;
|
38 | case 2: PORTD=0b01011011; break;
|
39 | case 3: PORTD=0b01001111; break;
|
40 | case 4: PORTD=0b01100110; break;
|
41 | case 5: PORTD=0b01101101; break;
|
42 | case 6: PORTD=0b01111101; break;
|
43 | case 7: PORTD=0b00000111; break;
|
44 | case 8: PORTD=0b01111111; break;
|
45 | case 9: PORTD=0b01101111; break;
|
46 | }
|
Vielen Dank für Lösungsmöglichkeiten.
Valentin