Fehlermeldungen von AVR Studio 5 - brauche Hilfe

OP #2867400
Lesenswert?

Hallo Forum,

ich habe seit zwei Jahren kein AVR Projekt mehr gehabt.
Das jetzige ist eine Steuerung für LED via Fernbedienung.
Soweit auch kein Problem.

Jetzt habe ich aber meine verschiedenen Dateien in den ich den Code habe 
in ein Projekt zusammengeführt und es kommen etliche Fehlermeldungen.

Ich muss zugeben das ich bis jetzt nicht all zu viel mit GCC zu tun 
hatte.
Habe die Headerfiles mit einem Tutorial erstellt.

Und ich habe ganz sicher die ganzen Dinge declariert.


Ich habe das ganze Projekt als Zip angehangen.
Evt. findet ihr den Fehler.

Fehlermeldungen:
1
Error  1  macro names must be identifiers  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.h  1  9  Led_Treiber_Kim
2
Error  3  'Digit_DDR' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  7  2  Led_Treiber_Kim
3
Error  4  each undeclared identifier is reported only once for each function it appears in  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  7  2  Led_Treiber_Kim
4
Error  5  'digit1' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  7  22  Led_Treiber_Kim
5
Error  6  'digit2' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  7  36  Led_Treiber_Kim
6
Error  7  'digit3' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  7  50  Led_Treiber_Kim
7
Error  8  'digit4' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  7  64  Led_Treiber_Kim
8
Error  9  'Digit_Schiebe_DDR' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  8  2  Led_Treiber_Kim
9
Error  10  'clock_digit' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  8  30  Led_Treiber_Kim
10
Error  11  'data_digit' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  8  49  Led_Treiber_Kim
11
Error  12  'strobe_digit' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  8  67  Led_Treiber_Kim
12
Error  13  'Digit_Port' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  23  12  Led_Treiber_Kim
13
Error  14  'digit1' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  23  32  Led_Treiber_Kim
14
Error  15  'digit2' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  26  32  Led_Treiber_Kim
15
Error  16  'digit3' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  29  32  Led_Treiber_Kim
16
Error  17  'digit4' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  32  32  Led_Treiber_Kim
17
Error  18  'Digit_Schiebe_Port' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  38  5  Led_Treiber_Kim
18
Error  19  'data_digit' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  38  33  Led_Treiber_Kim
19
Error  20  'clock_digit' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  46  33  Led_Treiber_Kim
20
Error  21  'digit_delay' undeclared (first use in this function)  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  50  13  Led_Treiber_Kim
Angehängte Dateien:
#2867409
Lesenswert?

Na dann zeig mal 4-Digit-Schiebe.h
Denn davon handelt die erste Fehlermeldung


PS: Ich würde das Projekt erst mal auf ein anderes Verzeichnis schieben.
Das hat doch keinen Sinn, wenn dir der Compielr in jeder Fehlermeldung 
die Zeile mit einer elends langen Pfadanagabe vollmüllt.
#2867413
Lesenswert?

Haben wirs schon
1
#ifndef 4-DIGIT-SCHIEBE_H_
2
#define 4-DIGIT-SCHIEBE_H_
3
...

Mööp.

Wie der Compiler sagt: Makro Names must be identifiers.
D.h. da gelten die selben Regeln wie für Variablennamen oder 
Funktionsnamen: sie können nicht mit einer Ziffer anfangen.
1
#ifndef FOUR_DIGIT_SCHIEBE_H_
2
#define FOUR_DIGIT_SCHIEBE_H_
3
...

wäre ok.


Ändern, neu compilieren und ein ganzer Haufen Folgefehler wird gleich 
mit verschwinden.

Man fängt immer beim ersten Fehler an. Egal wieviele dann noch auf der 
Liste sind. Wenns noch besonders viele Fehler auf der Liste sind, dann 
sind viele davon einfach nur Folgefehler vom ersten. Daher: nicht 
entmutigen lassen, einfach den ersten korrigieren und nochmal 
compilieren. Und dann wieder den ersten Fehler bearbeiten.
#2867415
Lesenswert?

1
#ifndef 4-DIGIT-SCHIEBE_H_
2
#define 4-DIGIT-SCHIEBE_H_
"Preprocessing tokens fall into five broad classes: identifiers, 
preprocessing numbers, string literals, punctuators, and other. An 
identifier is the same as an identifier in C: any sequence of letters, 
digits, or underscores, which begins with a letter or underscore."

EDIT: Ups, zu langsam.
OP #2867431
Lesenswert?

Dafür sind neue Fehler da.
In den Delay funktionenn von AVR Studio.
1
Warning  1  type defaults to 'int' in declaration of 'digit_init'  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.h  24  8  Led_Treiber_Kim
2
Error  2  storage class specified for parameter '__fuse_t'  c:\program files (x86)\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/avr/fuse.h  252  3  Led_Treiber_Kim
3
Error  3  storage class specified for parameter '_delay_loop_1'  c:\program files (x86)\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h  40  20  Led_Treiber_Kim
4
Error  4  storage class specified for parameter '_delay_loop_2'  c:\program files (x86)\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h  41  20  Led_Treiber_Kim
5
Error  5  expected '=', ',', ';', 'asm' or '__attribute__' before '{' token  c:\program files (x86)\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h  82  1  Led_Treiber_Kim
6
Error  6  expected '=', ',', ';', 'asm' or '__attribute__' before '{' token  c:\program files (x86)\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay_basic.h  104  1  Led_Treiber_Kim
7
Error  7  storage class specified for parameter '_delay_us'  c:\program files (x86)\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h  83  20  Led_Treiber_Kim
8
Error  8  storage class specified for parameter '_delay_ms'  c:\program files (x86)\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h  84  20  Led_Treiber_Kim
9
Warning  9  #warning "F_CPU not defined for <util/delay.h>"  c:\program files (x86)\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h  89  3  Led_Treiber_Kim
10
Error  10  expected '=', ',', ';', 'asm' or '__attribute__' before '{' token  c:\program files (x86)\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h  133  1  Led_Treiber_Kim
11
Error  11  expected '=', ',', ';', 'asm' or '__attribute__' before '{' token  c:\program files (x86)\atmel\avr studio 5.0\avr toolchain\bin\../lib/gcc/avr/4.5.1/../../../../avr/include/util/delay.h  210  1  Led_Treiber_Kim
12
Error  12  expected '=', ',', ';', 'asm' or '__attribute__' before '{' token  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  6  1  Led_Treiber_Kim
13
Error  13  expected '=', ',', ';', 'asm' or '__attribute__' before '{' token  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  16  1  Led_Treiber_Kim
14
Error  14  old-style parameter declarations in prototyped function definition  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.h  25  8  Led_Treiber_Kim
15
Error  15  expected '{' at end of input  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  59  1  Led_Treiber_Kim
16
Warning  16  control reaches end of non-void function  C:\Users\Timm\Documents\AVRStudio\Led_Treiber_Kim\Led_Treiber_Kim\4-Digit-Schiebe.c  59  1  Led_Treiber_Kim
#2867466
Lesenswert?

Was wird das jetzt?
Wer fixt mir alle meine Fehler?


erste Fehlermeldung:

type defaults to 'int' in declaration of 'digit_init'


zugehöriger Code in 4-Digit-Schiebe.h
1
extern digit_init(void);

Frage: Wovon spricht der Compiler hier?

(Was hat jede Funktionsdeklaration (und auch Definition)? Wie siehst sie 
aus?
Sie sieht immer so aus
1
Datentyp_des_Returnwertes Funktionsname ( Argumentliste ) ;
Wo ist bei dir der Datentyp des Returnwertes?



Ein wenig was musst du selber auch dazu tun! Es ist ja schliesslich dein 
Projekt. Am Anfang klang das noch so, als ob du die Teile selbst 
geschrieben hast. Zumindest bei mir kommen da so die ersten Zweifel auf.
#2867476
Lesenswert?

4-Digit-Schiebe.c

1
#include "4-Digit-Schiebe.h"
2
#include <avr/io.h>
3
#include <util/delay.h>

Reihenfolge!

Immer zuerst die System Header und dann deine eigenen.
Deine eigenen werden Dinge aus den System-Header benutzen. Dann müssen 
die aber schon vorher mal inkludiert worden sein.
1
#include <avr/io.h>
2
#include <util/delay.h>
3

4
#include "4-Digit-Schiebe.h"

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren