AVR-Problem, für mich unlösbarer Error.

Gast #2183504
Lesenswert?

Hallo, ich bin das erste mal in diesem Forum unterwegs, also bitte um 
Nachsicht.
Ich habe auch schon gesucht nach ähnlichen Problemen, aber irgendwie 
raff ich es nicht.
Nun ja ich bekomme immer eine Fehlermeldung, die es mir unmöglich macht 
mein Projekt zu ende zu bringen.
Win-Avr hab ich auch schon neuinstalliert, ohne Erfolg.
Wäre schön wenn jemand Zeit hat sich mein Problem mal anzuschauen, das 
makefile hab ich auch angehängt, da es vielmals geholfen hat, wie ich 
sah.

Vielen Dank





rm -rf i2c.o i2creg.o lcd.o dcfpanel1.o encoder.o timer.o dcf.o menue.o 
uart2.o spi.o adc.o  dcfpanel1.elf dep/* dcfpanel1.hex dcfpanel1.eep 
dcfpanel1.lss dcfpanel1.map
Build succeeded with 0 Warnings...
avr-gcc  -mmcu=atmega32 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT i2c.o -MF 
dep/i2c.o.d  -c  ../i2c.c
avr-gcc  -mmcu=atmega32 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT i2creg.o 
-MF dep/i2creg.o.d  -c  ../i2creg.c
avr-gcc  -mmcu=atmega32 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT lcd.o -MF 
dep/lcd.o.d  -c  ../lcd.c
avr-gcc  -mmcu=atmega32 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT dcfpanel1.o 
-MF dep/dcfpanel1.o.d  -c  ../dcfpanel1.c
../dcfpanel1.c:127: warning: return type of 'main' is not 'int'
../dcfpanel1.c: In function 'main':
../dcfpanel1.c:133: warning: implicit declaration of function 
'InitTimer'
../dcfpanel1.c:170: warning: implicit declaration of function 'menuejob'
../dcfpanel1.c:172: warning: implicit declaration of function 'anzjob'
../dcfpanel1.c:163: warning: unused variable 'pos'
../dcfpanel1.c:153: warning: unused variable 's'
avr-gcc  -mmcu=atmega32 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT encoder.o 
-MF dep/encoder.o.d  -c  ../encoder.c
avr-gcc  -mmcu=atmega32 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT timer.o -MF 
dep/timer.o.d  -c  ../timer.c
avr-gcc  -mmcu=atmega32 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT dcf.o -MF 
dep/dcf.o.d  -c  ../dcf.c
avr-gcc  -mmcu=atmega32 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT menue.o -MF 
dep/menue.o.d  -c  ../menue.c
In file included from ../menue.c:6:
c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h:85:3: warning: 
#warning "F_CPU not defined for <util/delay.h>"
../menue.c: In function 'menuejob':
../menue.c:28: warning: unused variable 's'
../menue.c: In function 'anzjob':
../menue.c:71: warning: implicit declaration of function 'GetEncoderPos'
../menue.c:84: warning: implicit declaration of function 'getvoltage'
../menue.c:87: warning: implicit declaration of function 'setvoltage'
../menue.c:91: warning: implicit declaration of function 'getcurrent'
../menue.c:94: warning: implicit declaration of function 'setcurrent'
../menue.c:99: warning: implicit declaration of function 'meascurrent'
../menue.c:100: warning: implicit declaration of function 'measvoltage'
../menue.c:112: warning: implicit declaration of function 
'meastemperatur'
../menue.c:122: warning: implicit declaration of function 'release'
../menue.c:127: warning: implicit declaration of function 'protect'
avr-gcc  -mmcu=atmega32 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT uart2.o -MF 
dep/uart2.o.d  -c  ../uart2.c
../uart2.c:30:33: warning: "/*" within comment
../uart2.c:32:2: warning: "/*" within comment
../uart2.c:50:20: warning: "/*" within comment
avr-gcc  -mmcu=atmega32 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT spi.o -MF 
dep/spi.o.d  -c  ../spi.c
In file included from ../spi.c:2:
c:/winavr-20100110/lib/gcc/../../avr/include/util/delay.h:85:3: warning: 
#warning "F_CPU not defined for <util/delay.h>"
avr-gcc  -mmcu=atmega32 -Wall -gdwarf-2 -std=gnu99 -Os -funsigned-char 
-funsigned-bitfields -fpack-struct -fshort-enums -MD -MP -MT adc.o -MF 
dep/adc.o.d  -c  ../adc.c
avr-gcc -mmcu=atmega32 -Wl,-Map=dcfpanel1.map i2c.o i2creg.o lcd.o 
dcfpanel1.o encoder.o timer.o dcf.o menue.o uart2.o spi.o adc.o     -o 
dcfpanel1.elf
dcf.o: In function `setvoltage':
C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:43: multiple definition of `setvoltage'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:43: first defined here
dcf.o: In function `setcurrent':
C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:45: multiple definition of `setcurrent'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:45: first defined here
dcf.o: In function `getvoltage':
C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:51: multiple definition of `getvoltage'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:51: first defined here
dcf.o: In function `getcurrent':
C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:54: multiple definition of `getcurrent'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:54: first defined here
dcf.o: In function `protect':
C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:124: multiple definition of `protect'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:124: first defined here
dcf.o: In function `setvoltage':
C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:43: multiple definition of `protection'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:43: first defined here
dcf.o: In function `release':
C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:133: multiple definition of `release'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:133: first defined here
dcf.o: In function `protec':
C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:140: multiple definition of `protec'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:140: first defined here
dcf.o: In function `gettmpspg':
C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:108: multiple definition of `gettmpspg'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:108: first defined here
dcf.o: In function `meastemperatur':
C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:115: multiple definition of `meastemperatur'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:115: first defined here
dcf.o: In function `meascurrent':
C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:93: multiple definition of `meascurrent'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:93: first defined here
dcf.o: In function `measvoltage':
C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:77: multiple definition of `measvoltage'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:77: first defined here
dcf.o: In function `sendref':
C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:60: multiple definition of `sendref'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:60: first defined here
dcf.o: In function `dcgjob':
C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:142: multiple definition of `dcgjob'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:142: first defined here
dcf.o: In function `setvoltage':
:\Dokumente und Einstellungen\Administrator\Desktop\Kopie von 
dcfpanel1\default/../dcf.c:43: multiple definition of `refvoltage'
dcfpanel1.o:C:\Dokumente und Einstellungen\Administrator\Desktop\Kopie 
von dcfpanel1\default/../dcf.c:43: first defined here
dcf.o:(.data+0x0): multiple definition of `A'
dcfpanel1.o:(.data+0x9): first defined here
dcf.o:(.data+0x4): multiple definition of `B'
dcfpanel1.o:(.data+0xd): first defined here
dcf.o:(.data+0x8): multiple definition of `C'
dcfpanel1.o:(.data+0x11): first defined here
dcf.o:(.data+0xc): multiple definition of `D'
dcfpanel1.o:(.data+0x15): first defined here
dcf.o:(.data+0x10): multiple definition of `Ref'
dcfpanel1.o:(.data+0x19): first defined here
make: *** [dcfpanel1.elf] Error 1
Build failed with 1 errors and 22 warnings...
Angehängte Dateien:
Gast #2183533
Lesenswert?

Markus schrieb:
> ../menue.c:71: warning: implicit declaration of function 'GetEncoderPos'

Die Funktion 'GetEncoderPos' ist nicht deklariert -> Header nicht 
eingebunden, falsche Schreibweise (groß/klein), ...

Markus schrieb:
> dcf.o:(.data+0x0): multiple definition of `A'

wie die Meldung schon sagt ... -> z.B. *.h-Datei in verschiedenen 
Modulen abgerufen, ohne 'Sperre'
1
#ifdef _DATEI_H_
2
#define _DATEI_H_
3

4
// Deklarationen
5

6
#endif // _DATEI_H_

(sagt die Glaskugel)
Gast #2183668
Lesenswert?

Erstmal Danke für die schnellen Responses,

ich hab auch noch mal angefangen selber rumzuprobieren.Ein paar Warnings 
hab ich auch schon weg.
Nur halt der Error is noch da!

Deshalb wie angemerkt poste ich nun das Projekt gepackter Art.

Vielen Dank


...irgendwie hab ich da wohl den Überblick verloren...
Angehängte Dateien:
#2183716
Lesenswert?

main.c:
. nicht
1
void main()
sondern
1
int main(void)
. timer.h wieder mitinkludieren
. man includiert keine .c dateien! nur die prototypen der funktionen aus 
einer .c datei, die in einer .h-datei stehen, werden inkludiert. das 
führt zu vielen warnings.

menue.h, dcf.h: datei existiert nicht. daher kommen die meisten fehler. 
die musst du nach dem vorbild der anderen .h-dateien erstellen und die 
prototypen der funktionen erstellen, die die zugehörige .c-datei 
bereitstellt.
einfach mal in die anderen header-dateien reinschaun, was da so 
passiert.


menue.c:
. das ganze decoder-geraffel ist unbekannt. es fehlt also die include.

anzjob.c
. das selbe wie bei menue.c

was die definition von setvoltage usw in dcf.c verloren?


generell: gewöhn dir DRINGEND sinnvolle einrückung und einheitlichen 
textsatz an. "dein" code ist stellenweise sehr schwer lesbar.




Ich hab die Fehler bei mir mal korrigiert und krieg ein Build mit 7 
Warnings und 0 Errors. Die Warnings sind alle "unused variable"s.
Wenn du Eigeninitiative und Willen zum Verständnis bei den oben 
angesprochenen Punkten zeigst, lad ichs gern hoch.
Gast #2183763
Lesenswert?

Hallo,
so hier ist wieder Euer Neanderthaler des C-Programmierens.
@Michael....ich hab nun die includes gesetzt und auich die *.h Dateien 
geschrieben und geincluded.

Trotzdem erhalte ich noch einen Error und 1 warning.woran das nun liegt. 
Ich weiss es nicht.

Die Einrückungen muss ich noch machen, alle hab ich noch nicht 
geschafft.

Wenn du Deinen Code mal Posten könntest wäre ich dir sehr dankbar.

Ich hänge meinen auch noch mal ran...
Angehängte Dateien:
Gast #2184107
Lesenswert?

...also letztendlich hab ich das Ding noch hingekriegt, es lag 
letztendlich an der math.h die nicht richtig gelinkt wurde.
Natürlich erst nachdem ich Eure tips befolgt habe...
Was nun nicht läuft, liegt zwischen meinen Ohren, aber dazu werd ich mir 
mal den programmablauf aufmalen, wie man es gelernt hat mit nem PAP.


Also vielen Dank an Euch alle vorerst!

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