Hallo!
Ich habe ein Problem beim #include, nachdem ich meine Init-Funktion für
die HW auslagelagert habe. Target ist ein mega8515, WinAVR in aktueller
Version.
main:
1 | #include <avr/io.h> // Register usw.
|
2 | #include <stdint.h> // Standard Integer Types
|
3 |
|
4 | #include <Init.h>
|
5 |
|
6 | // Funktionsprototypen
|
7 | extern void Initialisierung(void) ; // Init.h
|
8 |
|
9 | uint8_t test ;
|
10 |
|
11 | int main(void)
|
12 | {
|
13 | Initialisierung() ;
|
14 |
|
15 | while (1)
|
16 | {
|
17 | test = PIND ;
|
18 | PORTB = test ;
|
19 |
|
20 | }
|
21 | return 0 ; // Rückgabewert der Hauptschleife
|
22 | }
|
Init.h
1 | // Funktionsprototypen
|
2 | void Initialisierung(void)
|
Init.c
1 | #include <avr/io.h> // Register usw.
|
2 | #include <Init.h>
|
3 |
|
4 | /*****************************************************************************
|
5 | *
|
6 | * Funktionsname : Initialisierung
|
7 | *
|
8 | * Rueckgabewerte : Keine
|
9 | *
|
10 | * Parameter : Keine
|
11 | *
|
12 | * Aufgabe : Initialisierungen der HW
|
13 | *
|
14 | *****************************************************************************/
|
15 | void Initialisierung()
|
16 | {
|
17 | // PortA
|
18 | // Ext. SRam
|
19 |
|
20 | // PortB: Alles Ausgänge
|
21 | DDRB = 0xff ; // Datenrichtungsregister
|
22 | PORTB = 0x00 ; // Pegel vorgeben (0= LED EIN)
|
23 |
|
24 | // PortC
|
25 | // Ext. SRam
|
26 |
|
27 |
|
28 | // PortD
|
29 | // Default Eingänge
|
30 |
|
31 |
|
32 | // MCUCR - MCU Control Register
|
33 | MCUCR |= (1<<SRE) ; //Ext. SRam einschalten
|
34 |
|
35 |
|
36 | // Status Register
|
37 |
|
38 | }
|
Ich bekomme die Fehler:
1 | Compiling C: main.c
|
2 | avr-gcc -c -mmcu=at90s8515 -I. -gdwarf-2 -DF_CPU=4000000UL -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -Wa,-adhlns=./main.lst -std=gnu99 -Wundef -MMD -MP -MF .dep/main.o.d main.c -o main.o
|
3 | main.c: In function 'Initialisierung':
|
4 | main.c:7: error: storage class specified for parameter 'Initialisierung'
|
5 | main.c:14: error: expected '=', ',', ';', 'asm' or '__attribute__' before '{' token
|
6 | main.c:24: error: old-style parameter declarations in prototyped function definition
|
7 | main.c:24: error: expected '{' at end of input
|
8 | make.exe: *** [main.o] Error 1
|
Der bei mir aber mehr Durcheinander, als Ordnung bringt. Was mache ich
verkehrt?
Gruß und Dank
Michael