Hallo,
ich versuche seit geraumer Zeit das Projekt "Transistortester"
Beitrag "Transistortester AVR"
im AVRStudio 5 zum Laufen zu bringen, aber leider ohne Erfolg.
Nach einem entsprechenden Tip ging es zwar auf meinem alten PC im Studio
4, aber da ich in Zukunft nur mehr mit Studio 5 arbeiten muß, möchte ich
gerne wissen wo das Problem liegt. Ein einfacher Import des Studio 4
Projektes funktionierte überhaupt nicht, also habe ich versucht mit
meinen rudimentären C Kenntnissen alle Fehler auszumerzen. Das ging auch
bei einer Reihe von Punkten ganz gut, aber jetzt komme ich nicht mehr
weiter.
Ich bekomme 124 Fehler "redefinition of xxx" und danach 124 Warnungen
"previous definition of xxx was here". Das seltsame dabei ist, daß
sowohl beim Fehler als auch bei der Warnung auf die selbe Stelle gezeigt
wird.
Kann mir das jemand erklären?
Gruß Bruno
Hallo,
kann es wirklich sein, daß dazu keiner etwas beitragen kann??
Das Problem liegt offensichtlich bei dieser Art von Definition:
const uint16_t RHtab[] MEM_TEXT = { 954, 903, 856, 814, 775, 740, 707,
676, 648};
Was muß dabei berücksichtigt werden? Welche lib muß ich einbinden?
Ich bin dankbar für jeden Tip!
Gruß Bruno
Bruno M. schrieb:> Hallo,> kann es wirklich sein, daß dazu keiner etwas beitragen kann??
vermutlich weil niemand deine Fehlermeldung kennt.
> Ich bekomme 124 Fehler "redefinition of xxx"
das xxx ist das wichtigste und das hast du weggelassen.
Klingt für mich so, als würde eine Definition (#define xxx) 2 mal (oder
auch mehrmals) in mehreren header Datein vorhanden sein.
Übrigens:
>const uint16_t RHtab[] MEM_TEXT = { 954, 903, 856, 814, 775, 740, 707,>676, 648};
ist keine Definition!
Vorab herzlichen Dank für die Antworten!
Peter II schrieb:
>das xxx ist das wichtigste und das hast du weggelassen.
Ich habe es weggelassen, weil es sich bei den 124 Fehlern um jeweils
unterschiedliche Variablen handelt.
"RHtab" in meinem Beispiel ist z.B. eine davon.
Sepp schrieb:
>Übrigens:>const uint16_t RHtab[] MEM_TEXT = { 954, 903, 856, 814, 775, 740, 707,>676, 648};
ist keine Definition!
Ich bin zwar mit C noch ganz am Anfang, aber soweit ich verstanden habe
legt man damit Daten im EEPROM ab. Der Begriff Definition stammt aus der
Fehlermeldung.
Nachfolgend der komplette Ausdruck:
------ Rebuild All started: Project: Transistortester, Configuration:
Debug AVR ------
Build started.
Project "Transistortester.cproj" (ReBuild target(s)):
Target "PreBuildEvent" skipped, due to false condition;
('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreRebuild" in file "C:\Program Files (x86)\Atmel\AVR Studio
5.1\Vs\Compiler.targets" from project
"D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\
Transistortester.cproj" (target "ReBuild" depends on it):
Task "RunCompilerTask"
C:\Program Files (x86)\Atmel\AVR Studio 5.1\make\make.exe clean all
rm -rf CheckPins.o CombineToLong.o lcd-routines.o ReadADC.o
ReadADC.o ReadCapacity.o Transistortester.o wait1000ms.o CheckPins.d
lcd-routines.d ReadADC.d ReadCapacity.d Transistortester.d
rm -rf "Transistortester.hex" "Transistortester.lss"
"Transistortester.eep" "Transistortester.map"
CheckPins.c
Invoking: AVR/GNU C Compiler
"C:\Program Files (x86)\Atmel\AVR Studio
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe"
-funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2
-Wall -c -std=gnu99 -MD -MP -MF "CheckPins.d" -MT"CheckPins.d"
-mmcu=atmega168a -o"CheckPins.o" ".././CheckPins.c"
Finished building: .././CheckPins.c
CombineToLong.s
Invoking: AVR32/GNU C Assembler
"C:\Program Files (x86)\Atmel\AVR Studio
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe"
-Wa,-gdwarf2 -x assembler-with-cpp -c -mmcu=atmega168a
-o"CombineToLong.o" ".././CombineToLong.s"
Finished building: .././CombineToLong.s
lcd-routines.c
Invoking: AVR/GNU C Compiler
"C:\Program Files (x86)\Atmel\AVR Studio
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe"
-funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2
-Wall -c -std=gnu99 -MD -MP -MF "lcd-routines.d" -MT"lcd-routines.d"
-mmcu=atmega168a -o"lcd-routines.o" ".././lcd-routines.c"
Finished building: .././lcd-routines.c
ReadADC.s
Invoking: AVR32/GNU C Assembler
"C:\Program Files (x86)\Atmel\AVR Studio
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe"
-Wa,-gdwarf2 -x assembler-with-cpp -c -mmcu=atmega168a -o"ReadADC.o"
".././ReadADC.s"
Finished building: .././ReadADC.s
ReadCapacity.c
Invoking: AVR/GNU C Compiler
"C:\Program Files (x86)\Atmel\AVR Studio
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe"
-funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2
-Wall -c -std=gnu99 -MD -MP -MF "ReadCapacity.d" -MT"ReadCapacity.d"
-mmcu=atmega168a -o"ReadCapacity.o" ".././ReadCapacity.c"
Finished building: .././ReadCapacity.c
Transistortester.c
Invoking: AVR/GNU C Compiler
"C:\Program Files (x86)\Atmel\AVR Studio
5.1\extensions\Atmel\AVRGCC\3.3.1.27\AVRToolchain\bin\avr-gcc.exe"
-funsigned-char -funsigned-bitfields -O1 -fpack-struct -fshort-enums -g2
-Wall -c -std=gnu99 -MD -MP -MF "Transistortester.d"
-MT"Transistortester.d" -mmcu=atmega168a -o"Transistortester.o"
".././Transistortester.c"
In file included from .././CheckPins.c:3:0,
from .././Transistortester.c:639:
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(72,16): redefinition of 'RLtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(72,16): previous definition of 'RLtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(79,16): redefinition of 'RHtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(79,16): previous definition of 'RHtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(97,23): redefinition of 'TestRunning'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(97,23): previous definition of 'TestRunning' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(98,23): redefinition of 'BatWeak'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(98,23): previous definition of 'BatWeak' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(99,23): redefinition of 'BatEmpty'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(99,23): previous definition of 'BatEmpty' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(100,23): redefinition of 'TestFailed2'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(100,23): previous definition of 'TestFailed2' was
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(101,23): redefinition of 'Bauteil'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(101,23): previous definition of 'Bauteil' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(102,23): redefinition of 'Diode'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(102,23): previous definition of 'Diode' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(103,23): redefinition of 'GAK'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(103,23): previous definition of 'GAK' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(104,23): redefinition of 'Triac'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(104,23): previous definition of 'Triac' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(105,23): redefinition of 'Thyristor'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(105,23): previous definition of 'Thyristor' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(106,23): redefinition of 'Unknown'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(106,23): previous definition of 'Unknown' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(107,23): redefinition of 'TestFailed1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(107,23): previous definition of 'TestFailed1' was
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(108,23): redefinition of 'OrBroken'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(108,23): previous definition of 'OrBroken' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(188,21): redefinition of 'Bat'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(188,21): previous definition of 'Bat' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(189,21): redefinition of 'OK'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(189,21): previous definition of 'OK' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(190,21): redefinition of 'mosfet'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(190,21): previous definition of 'mosfet' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(191,21): redefinition of 'jfet'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(191,21): previous definition of 'jfet' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(192,21): redefinition of 'GateCap'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(192,21): previous definition of 'GateCap' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(193,21): redefinition of 'hfestr'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(193,21): previous definition of 'hfestr' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(194,21): redefinition of 'NPN'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(194,21): previous definition of 'NPN' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(195,21): redefinition of 'PNP'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(195,21): previous definition of 'PNP' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(196,21): redefinition of 'ebcstr'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(196,21): previous definition of 'ebcstr' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(197,21): redefinition of 'gds'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(197,21): previous definition of 'gds' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(198,21): redefinition of 'Uf'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(198,21): previous definition of 'Uf' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(199,21): redefinition of 'vt'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(199,21): previous definition of 'vt' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(201,21): redefinition of 'CapZeich'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(201,21): previous definition of 'CapZeich' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(203,21): redefinition of 'AnKat'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(203,21): previous definition of 'AnKat' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(204,21): redefinition of 'KatAn'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(204,21): previous definition of 'KatAn' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(205,21): redefinition of 'Dioden'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(205,21): previous definition of 'Dioden' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(207,21): redefinition of 'Resis'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(207,21): previous definition of 'Resis' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(209,21): redefinition of 'TestTimedOut'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(209,21): previous definition of 'TestTimedOut' was
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(210,21): redefinition of 'VERSION'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(210,21): previous definition of 'VERSION' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(213,21): redefinition of 'mVT'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(213,21): previous definition of 'mVT' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(214,21): redefinition of 'URefT'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(214,21): previous definition of 'URefT' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(215,21): redefinition of 'RHfakt'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(215,21): previous definition of 'RHfakt' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(216,21): redefinition of 'RLfakt'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(216,21): previous definition of 'RLfakt' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(217,21): redefinition of 'ATE'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(217,21): previous definition of 'ATE' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(218,21): redefinition of 'SELFTEST'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(218,21): previous definition of 'SELFTEST' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(219,21): redefinition of 'RH1L'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(219,21): previous definition of 'RH1L' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(220,21): redefinition of 'RH1H'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(220,21): previous definition of 'RH1H' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(221,21): redefinition of 'RILO'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(221,21): previous definition of 'RILO' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(222,21): redefinition of 'RIHI'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(222,21): previous definition of 'RIHI' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(223,21): redefinition of 'RLRL'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(223,21): previous definition of 'RLRL' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(224,21): redefinition of 'RHRH'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(224,21): previous definition of 'RHRH' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(225,21): redefinition of 'RELPROBE'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(225,21): previous definition of 'RELPROBE' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(233,21): redefinition of 'DiodeIcon1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(233,21): previous definition of 'DiodeIcon1' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(242,21): redefinition of 'DiodeIcon2'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(242,21): previous definition of 'DiodeIcon2' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(251,21): redefinition of 'CapIcon'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(251,21): previous definition of 'CapIcon' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(261,21): redefinition of 'ResIcon1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(261,21): previous definition of 'ResIcon1' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(269,21): redefinition of 'ResIcon2'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(269,21): previous definition of 'ResIcon2' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(279,21): redefinition of 'PinRLtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(279,21): previous definition of 'PinRLtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(283,21): redefinition of 'PinADCtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(283,21): previous definition of 'PinADCtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(302,8): redefinition of 'struct Diode'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(302,8): originally defined here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(377,14): conflicting types for 'diodes'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(377,14): previous declaration of 'diodes' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(384,2): conflicting types for 'trans'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(384,2): previous declaration of 'trans' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(393,8): redefinition of 'struct resis_t'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(393,8): originally defined here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(397,3): conflicting types for 'resis'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(397,3): previous declaration of 'resis' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(405,23): redefinition of 'C_Prefix_tab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(405,23): previous definition of 'C_Prefix_tab' was
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(410,16): redefinition of 'RHmultip'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(410,16): previous definition of 'RHmultip' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(414,9): redefinition of 'minmul'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(414,9): previous definition of 'minmul' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(414,18): redefinition of 'mindiv'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(414,18): previous definition of 'mindiv' was here
In file included from .././ReadCapacity.c:28:0,
from .././Transistortester.c:779:
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(72,16): redefinition of 'RLtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(72,16): previous definition of 'RLtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(79,16): redefinition of 'RHtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(79,16): previous definition of 'RHtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(97,23): redefinition of 'TestRunning'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(97,23): previous definition of 'TestRunning' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(98,23): redefinition of 'BatWeak'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(98,23): previous definition of 'BatWeak' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(99,23): redefinition of 'BatEmpty'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(99,23): previous definition of 'BatEmpty' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(100,23): redefinition of 'TestFailed2'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(100,23): previous definition of 'TestFailed2' was
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(101,23): redefinition of 'Bauteil'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(101,23): previous definition of 'Bauteil' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(102,23): redefinition of 'Diode'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(102,23): previous definition of 'Diode' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(103,23): redefinition of 'GAK'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(103,23): previous definition of 'GAK' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(104,23): redefinition of 'Triac'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(104,23): previous definition of 'Triac' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(105,23): redefinition of 'Thyristor'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(105,23): previous definition of 'Thyristor' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(106,23): redefinition of 'Unknown'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(106,23): previous definition of 'Unknown' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(107,23): redefinition of 'TestFailed1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(107,23): previous definition of 'TestFailed1' was
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(108,23): redefinition of 'OrBroken'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(108,23): previous definition of 'OrBroken' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(188,21): redefinition of 'Bat'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(188,21): previous definition of 'Bat' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(189,21): redefinition of 'OK'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(189,21): previous definition of 'OK' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(190,21): redefinition of 'mosfet'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(190,21): previous definition of 'mosfet' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(191,21): redefinition of 'jfet'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(191,21): previous definition of 'jfet' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(192,21): redefinition of 'GateCap'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(192,21): previous definition of 'GateCap' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(193,21): redefinition of 'hfestr'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(193,21): previous definition of 'hfestr' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(194,21): redefinition of 'NPN'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(194,21): previous definition of 'NPN' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(195,21): redefinition of 'PNP'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(195,21): previous definition of 'PNP' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(196,21): redefinition of 'ebcstr'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(196,21): previous definition of 'ebcstr' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(197,21): redefinition of 'gds'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(197,21): previous definition of 'gds' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(198,21): redefinition of 'Uf'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(198,21): previous definition of 'Uf' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(199,21): redefinition of 'vt'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(199,21): previous definition of 'vt' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(201,21): redefinition of 'CapZeich'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(201,21): previous definition of 'CapZeich' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(203,21): redefinition of 'AnKat'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(203,21): previous definition of 'AnKat' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(204,21): redefinition of 'KatAn'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(204,21): previous definition of 'KatAn' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(205,21): redefinition of 'Dioden'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(205,21): previous definition of 'Dioden' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(207,21): redefinition of 'Resis'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(207,21): previous definition of 'Resis' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(209,21): redefinition of 'TestTimedOut'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(209,21): previous definition of 'TestTimedOut' was
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(210,21): redefinition of 'VERSION'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(210,21): previous definition of 'VERSION' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(213,21): redefinition of 'mVT'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(213,21): previous definition of 'mVT' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(214,21): redefinition of 'URefT'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(214,21): previous definition of 'URefT' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(215,21): redefinition of 'RHfakt'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(215,21): previous definition of 'RHfakt' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(216,21): redefinition of 'RLfakt'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(216,21): previous definition of 'RLfakt' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(217,21): redefinition of 'ATE'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(217,21): previous definition of 'ATE' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(218,21): redefinition of 'SELFTEST'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(218,21): previous definition of 'SELFTEST' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(219,21): redefinition of 'RH1L'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(219,21): previous definition of 'RH1L' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(220,21): redefinition of 'RH1H'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(220,21): previous definition of 'RH1H' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(221,21): redefinition of 'RILO'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(221,21): previous definition of 'RILO' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(222,21): redefinition of 'RIHI'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(222,21): previous definition of 'RIHI' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(223,21): redefinition of 'RLRL'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(223,21): previous definition of 'RLRL' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(224,21): redefinition of 'RHRH'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(224,21): previous definition of 'RHRH' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(225,21): redefinition of 'RELPROBE'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(225,21): previous definition of 'RELPROBE' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(233,21): redefinition of 'DiodeIcon1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(233,21): previous definition of 'DiodeIcon1' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(242,21): redefinition of 'DiodeIcon2'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(242,21): previous definition of 'DiodeIcon2' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(251,21): redefinition of 'CapIcon'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(251,21): previous definition of 'CapIcon' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(261,21): redefinition of 'ResIcon1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(261,21): previous definition of 'ResIcon1' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(269,21): redefinition of 'ResIcon2'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(269,21): previous definition of 'ResIcon2' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(279,21): redefinition of 'PinRLtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(279,21): previous definition of 'PinRLtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(283,21): redefinition of 'PinADCtab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(283,21): previous definition of 'PinADCtab' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(302,8): redefinition of 'struct Diode'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(302,8): originally defined here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(377,14): conflicting types for 'diodes'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(377,14): previous declaration of 'diodes' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(384,2): conflicting types for 'trans'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(384,2): previous declaration of 'trans' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(393,8): redefinition of 'struct resis_t'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(393,8): originally defined here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(397,3): conflicting types for 'resis'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(397,3): previous declaration of 'resis' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(405,23): redefinition of 'C_Prefix_tab'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(405,23): previous definition of 'C_Prefix_tab' was
here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(410,16): redefinition of 'RHmultip'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(410,16): previous definition of 'RHmultip' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(414,9): redefinition of 'minmul'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(414,9): previous definition of 'minmul' was here
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(414,18): redefinition of 'mindiv'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\T
ransistortester.h(414,18): previous definition of 'mindiv' was here
make: *** [Transistortester.o] Error 1
Done executing task "RunCompilerTask" -- FAILED.
Done building target "CoreRebuild" in project "Transistortester.cproj"
-- FAILED.
Done building project "Transistortester.cproj" -- FAILED.
Build FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
Nochmals der Hinweis, daß der Code im Studio 4 problemlos compiliert
wird. Nur im Studio 5 klappt es nicht.
Dabei ist alles identisch, bis auf den Makefile. Der Ursprungscode
enthält einen externen Makefile mit einer Reihe von einstellbaren Flags.
Da ich keine Ahnung habe wie ich diesen Makefile im Studio 5 aufbauen
sollte, habe ich all diese Einstellungen in eine Datei config.h
übernommen und dann den normalen Makefile gelassen.
in der Transistortester.h fehlt ein include guard. Wie es scheint wird
sie 2mal includiert.
schreibt mal am anfang
#ifndef _TRANSISTORTESTER_H
#define _TRANSISTORTESTER_H
und am ende
#endif // _TRANSISTORTESTER_H
rein.
Der Tip von Peter II war der richtige Ansatz! Anscheinend ist der
Compiler über diese Hürde hinweg, zeigt aber 233 andere Fehler ähnlicher
Art.
Zu meinem Verständnis:
Darf eine .h Datei im Projekt nur einmal eingeschlossen werden? Wenn ja,
ist egal wo? Wenn das so ist, dann liegt das Problem auf der Hand.
Nachfolgend der von Stefan Ernst gewünschte Vorspann, den ich in die
config.h eingefügt habe:
// ********************** Änderbare Variablen zur Configuration des
Transistortesters
// ********************** config options for your Semiconductor tester
#define PARTNO m168
//select your language
// available languages are: LANG_ENGLISH, LANG_GERMAN, LANG_POLISH,
LANG_CZECH, LANG_SLOVAK, LANG_SLOVENE
#define LANG_GERMAN
// the LCD_CYRILLIC option is necessary, if you have a display with
cyrillic characterset
// this lcd-display don't have a character for Ohm and for µ (micro)
//#define LCD_CYRILLIC
// the WITH_SELFTEST option enables selftest function
#define WITH_SELFTEST
// the WITH_AUTO_REF option enables reading of internal REF-voltage to
get factors for the Capacity measuring
#define WITH_AUTO_REF
#define REF_C_KORR 16
// the R_MESS option enables Resistor measuring
#define R_MESS
// the C_MESS option enables Capacity measuring
#define C_MESS
// this level defines the empty voltage level for capacitors in mV
#define CAP_EMPTY_LEVEL 3
// the AUTOSCALE_ADC option enables the autoscale ADC (VCC and Bandgap
Ref)
#define AUTOSCALE_ADC
//#define REF_R_KORR=0
// NO_AREF_CAP tells your Software, that you have no Capacitor installed
at pin AREF (21)
// this enables a shorter waittime for AUTOSCALE_ADC function
#define NO_AREF_CAP
// the OP_MHZ option tells the software the Operating Frequency
#define OP_MHZ 8
//#define OP_MHZ 1
// the USE_EEPROM option specify where you wish to locate fix text and
tables
#define USE_EEPROM
// the PULLUP_DISABLE option disable the pull-up Resistors of IO-Ports
// to use this option a external pull-up Resistor (10k to 30k)
// from Pin 13 to VCC must be installed!
#define PULLUP_DISABLE
// the ANZ_MESS option specifies, how often an ADC value is read and
accumulated
// possible values for 5V Operation are 44, 22 and 11
#define ANZ_MESS 44
// The POWER_OFF option enables the power off function, otherwise loop
measurements infinitely
// until power is disconnected with a ON/OFF switch (#define
POWER_OFF).
// If you have the tester without the power off transistors, you can
deselect POWER_OFF
// If you have NOT selected the POWER_OFF option with the transistors
installed,
// you can stop measuring by holding the key several seconds after a
result is
// displayed. After releasing the key, the tester will be shut off by
timeout.
// Otherwise you can also specify, after how many measurements without
found part
// the tester will shut down (#define POWER_OFF=5).
// The tester will also shut down with found part,
// but measurements are allowed double of the specified number.
// You can specify up to 255 empty measurements (#define
POWER_OFF=255).
#define POWER_OFF 5
// option BAT_CHECK enables the Battery Voltage Check, otherwise output
SW Version
// is only needed for battery powered tester version
#define BAT_CHECK
// The BAT_OUT option enables Battery Voltage Output on LCD (if
BAT_CHECK is selected).
// If your 9V supply has a diode installed, use the BAT_OUT=600 form to
specify the
// threshold voltage of your diode to adjust the output value.
// This threshold level is added to LCD-output and does not affect the
voltage checking levels.
#define BAT_OUT 150
// To adjust the warning-level and poor-level of battery check to the
capability of a
// low drop voltage regulator, you can specify the Option BAT_POOR=54 .
// The unit for this option value is 100mV (0.1 Volt), 54 means a poor
level of 5.4V.
// The warning level is always 1V higher than the specified poor level.
// Setting the poor level to low values is not recommended for
rechargeable 9V Batteries,
// because this increase the danger for deep discharge!!
#define BAT_POOR 64
// Output of flux voltage of diodes can be done in mV units or in Volt
with two digits decimal place.
// The Volt output can save space at the LCD, but needs more program
space.
// Set the option UF_OUT_MV to get the mV units.
//#define UF_OUT_MV
#define MCU atmega168
#define F_CPU 8000000UL
Bruno M. schrieb:> Darf eine .h Datei im Projekt nur einmal eingeschlossen werden?
Nein, aber in eine C-Datei nur einmal (wenn sie keinen Include-Guard
hat).
Bruno M. schrieb:> Nachfolgend der von Stefan Ernst gewünschte Vorspann, den ich in die> config.h eingefügt habe:
Sicher, dass du da nicht auch noch ein #include "Transistortester.h" mit
eingebaut hast?
Stefan Ernst schrieb:
>In Transistortester.c gibt es mit Sicherheit ein #include "CheckPins.c"
Da hast Du natürlich recht!
Ich war nicht davon ausgegangen, daß #include auch mitten im Code
versteckt sind.
Ich habe mir jetzt mal die Mühe gemacht und habe mich im anderen Thread
auf die Suche nach dem ursprünglichen Code gemacht.
> Dabei ist alles identisch, bis auf den Makefile.
Das stimmt auch nicht. Du hast in CheckPins.c und ReadCapacity.c das
#include "Transistortester.h" hinzugefügt.
Ziemlich dürftige Informationspolitik deinerseits.
Stefan Ernst schrieb:
>Das stimmt auch nicht. Du hast in CheckPins.c und ReadCapacity.c das
#include "Transistortester.h" hinzugefügt.
Ziemlich dürftige Informationspolitik deinerseits.
Sorry, so sollte das nicht ankommen!
Ich bin ja nun schon einige Tage an diesem Problem und habe wie bereits
in meiner ersten Anfrage geschrieben, schon selbst versucht die
Fehlermeldungen zu beseitigen. Die Änderungen, die meiner Ansicht nach
geholfen haben, habe ich natürlich auch jetzt immer noch drin. Ich gebe
aber zu, daß ich mir über etwaige andere Probleme die ich mir damit
eingehandelt habe könnte, nicht im Klaren bin.
Bruno M. schrieb:> Die Änderungen, die meiner Ansicht nach> geholfen haben, habe ich natürlich auch jetzt immer noch drin.
Sie sind aber die Ursache für dein aktuelles Problem. Und die Probleme,
die du ohne diese Änderungen hast, sind das Resultat davon, dass du
CheckPins.c und ReadCapacity.c zusätzlich separat zu übersetzen
versuchst.
Stefan Ernst schrieb:
>Und die Probleme,>die du ohne diese Änderungen hast, sind das Resultat davon, dass du>CheckPins.c und ReadCapacity.c zusätzlich separat zu übersetzen>versuchst.
Kannst du mir näher erklären, was du damit meinst.
Bruno M. schrieb:> Stefan Ernst schrieb:>>>Und die Probleme,>>die du ohne diese Änderungen hast, sind das Resultat davon, dass du>>CheckPins.c und ReadCapacity.c zusätzlich separat zu übersetzen>>versuchst.>> Kannst du mir näher erklären, was du damit meinst.
Du wirfst alle drei Dateien dem Compiler zum Fraß vor. Richtig wäre es
aber, das nur mit Transistortester.c zu tun (denn die anderen beiden
werden dort ja inkludiert).
Wenn ich dich richtig verstehe, müßte ich dafür den automatisch
generierten Makefile ändern, oder reicht es diese Dateien nicht in das
Projekt einzuschließen?
Oliver, danke für die Info!
Stefan Ernst schrieb:
>Und die Probleme,>die du ohne diese Änderungen hast, sind das Resultat davon, dass du>CheckPins.c und ReadCapacity.c zusätzlich separat zu übersetzen>versuchst.
So einfach scheint es nun doch nicht zu sein. Ich habe mein altes
Projekt in die Tonne gekloppt, die Originaldateien, mit Ausnahme der
oben genannten beiden c-Dateien in ein neues Projekt eingebunden und
siehe da, ich fange mit den Fehlermeldungen wieder dort an, wo ich auch
schon ganz am Anfang war.
Bruno M. schrieb:> siehe da, ich fange mit den Fehlermeldungen wieder dort an, wo ich auch> schon ganz am Anfang war.
welche meldungen sind das jetzt genau?
Peter II schrieb:
> Bruno M. schrieb:>> siehe da, ich fange mit den Fehlermeldungen wieder dort an, wo ich auch>> schon ganz am Anfang war.>> welche meldungen sind das jetzt genau?
Transistortester.c(178,18): 'TestRunning' undeclared (first use in this
function)
Transistortester.c(178,18): each undeclared identifier is reported only
once for each function it appears in
Transistortester.c(232,24): 'Diode' undeclared (first use in this
function)
Transistortester.c(435,20): 'Thyristor' undeclared (first use in this
function)
Transistortester.c(438,20): 'Triac' undeclared (first use in this
function)
Transistortester.c(517,21): 'TestFailed1' undeclared (first use in this
function)
Transistortester.c(519,21): 'TestFailed2' undeclared (first use in this
function)
Transistortester.c(520,21): 'Bauteil' undeclared (first use in this
function)
Transistortester.c(523,21): 'Unknown' undeclared (first use in this
function)
Transistortester.c(525,21): 'OrBroken' undeclared (first use in this
function)
Transistortester.c(536,18): 'GAK' undeclared (first use in this
function)
Bruno M. schrieb:> Oliver, danke für die Info!
Gern geschehen.
Dieser Thread ist mal wieder ein Beupiel dafür, was passiert, wenn ein
TO seinen source code nicht zeigt. Reine Zeitvershcwendung auf allne
Seiten.
Also: Pack DEINEN Source-Code in ein zip-File, und häng den hier an.
Wenn du willst, zip das ganze Projektverzeichnis zusammen, auch wenn
vermutlich kaum einer ein Studio 5 auf seinem Rechner hat. Alles andere
hat keine Sinn.
Dann gibt es auch eine Lösung. Sonst nicht.
Oliver
Oliver schrieb:
> Dieser Thread ist mal wieder ein Beupiel dafür, was passiert, wenn ein> TO seinen source code nicht zeigt. Reine Zeitvershcwendung auf allne> Seiten.>> Also: Pack DEINEN Source-Code in ein zip-File, und häng den hier an.> Wenn du willst, zip das ganze Projektverzeichnis zusammen, auch wenn> vermutlich kaum einer ein Studio 5 auf seinem Rechner hat. Alles andere> hat keine Sinn.>> Dann gibt es auch eine Lösung. Sonst nicht.
Da Du offensichtlich später eingestiegen bist, ist der meine erste
Anfrage nicht geläufig, in der ich auf den Ursprung
Beitrag "Transistortester AVR"
hinweise.
Nachdem ich die Konfigurationen des Makefiles wieder in die config.h
eingefügt habe gibt es folgende Fehlermeldungen:
Bruno M. schrieb:> Da Du offensichtlich später eingestiegen bist, ist der meine erste> Anfrage nicht geläufig, in der ich auf den Ursprung> Beitrag "Transistortester AVR"> hinweise.
Und du erwartest, daß da jemand aus den hunderten Beiträgen und
dutzenden an Softwareversionen genau die rausfindet, die du verwenden
möchtest?
Bruno M. schrieb:> Nachdem ich die Konfigurationen des Makefiles wieder in die config.h> eingefügt habe gibt es folgende Fehlermeldungen:
Entweder compilierst du für den falschen Prozessor, oder es fehlt die
io.h
Oliver
Oliver schrieb:
> Und du erwartest, daß da jemand aus den hunderten Beiträgen und> dutzenden an Softwareversionen genau die rausfindet, die du verwenden> möchtest?>
Da das Projekt auf dem SVN Server abgelegt ist, habe ich natürlich die
letzte Version genommen.
Aber an diesem Problem soll es natürlich nicht scheitern (siehe Anlage).
> Entweder compilierst du für den falschen Prozessor, oder es fehlt die> io.h
Ich gehe davon aus, daß bei einem derartigen Fehler auch das Studio 4
meckern würde.
Bruno M. schrieb:> Ich gehe davon aus, daß bei einem derartigen Fehler auch das Studio 4> meckern würde.
den Prozesser musst du aber im Studio anstellen, eventuell ist der ja
nicht übernommen wurden.
Peter II schrieb:
> den Prozesser musst du aber im Studio anstellen, eventuell ist der ja> nicht übernommen wurden.
das habe ich gemacht und er erscheint auch.
Es liegt aber wahrscheinlich an den aus dem Makefile übernommenen
Konfigurationen.
In config.h ist enthalten:
1
#elif defined(__AVR_ATmega168__)
und ich habe übernommen:
1
#define MCU atmega168
wahrscheinlich findet er dann nichts und läuft automatisch zum ATmega 8
Bruno M. schrieb:> und ich habe übernommen:> #define MCU atmega168
Das ist ohne Funktion.
Du musst den Controller direkt im AVR-Studio einstellen.
EDIT: Ach, ich sehen am obigen Build-Output, woran es liegt. Wähle den
Mega168 aus (ohne 'A').
Stefan Ernst schrieb:
> Bruno M. schrieb:>> und ich habe übernommen:>> #define MCU atmega168>> Das ist ohne Funktion.> Du musst den Controller direkt im AVR-Studio einstellen.
Wie schon gesagt, das habe ich gemacht und er wird auch unter Properties
angezeigt.
Bruno M. schrieb:> Wie schon gesagt, das habe ich gemacht und er wird auch unter Properties> angezeigt.
Siehe mein EDIT oben.
Alternativ kannst du auch in config.h diese Zeile
Ich muß schon sagen, ich finde es super, daß Ihr noch immer nicht die
Geduld verloren habt. Andererseits habe ich schon jetzt sehr viel
gelernt.
Eventuell würde es aber die Problemlösung wirklich beschleunigen wenn
jemand von Euch den Code selbst im Studio 5 laufen lassen würde. Oder
bin ich wirklich der Einzige damit.
Stefan Ernst schrieb:
> Siehe mein EDIT oben.>
das hatte ich übersehen!
Ich habe die Properties abgeändert und offensichtlich hat das gewirkt.
Jetzt zeigt er aber 187 neue Fehler an.
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././ReadADC.s(17,1): R_AVR_13_PCREL against symbol `wait10ms'
defined in .text section in wait1000ms.o
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././ReadADC.s(18,1): R_AVR_13_PCREL against symbol `wait5ms'
defined in .text section in wait1000ms.o
ReadADC.o: In function `W5msReadADC':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././ReadADC.s(23,1): R_AVR_13_PCREL against symbol `wait5ms'
defined in .text section in wait1000ms.o
ReadADC.o: In function `w3f6':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././ReadADC.s(70,1): R_AVR_13_PCREL against symbol `wait300us'
defined in .text section in wait1000ms.o
ReadADC.o: In function `diviret':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././ReadADC.s(238,1): R_AVR_13_PCREL against symbol
`__udivmodhi4' defined in .text.libgcc section in c:/program files
(x86)/atmel/avr studio
5.1/extensions/atmel/avrgcc/3.3.1.27/avrtoolchain/bin/../lib/gcc/avr/4.5
.1/avr5\libgcc.a(_udivmodhi4.o)
Transistortester.o: In function `mVAusgabe':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(609,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(611,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(612,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(613,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(615,1): undefined reference to `lcd_data'
Transistortester.o:D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte
\Transistortester\Debug/.././Transistortester.c:616: more undefined
references to `lcd_data' follow
Transistortester.o: In function `UfAusgabe':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(593,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(594,1): undefined reference to
`lcd_fix_string'
Transistortester.o: In function `lcd_clear_line':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(865,1): undefined reference to `lcd_data'
Transistortester.o: In function `value_out':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(903,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(904,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(907,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(908,1): undefined reference to `lcd_data'
Transistortester.o:D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte
\Transistortester\Debug/.././Transistortester.c:790: more undefined
references to `lcd_data' follow
Transistortester.o: In function `AutoCheck':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(948,1): undefined reference to `lcd_clear'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(949,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(950,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(955,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(957,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(959,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(960,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(961,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(962,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(966,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(967,1): undefined reference to
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(968,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(969,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(970,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(971,1): undefined reference to
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(973,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(974,1): undefined reference to
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(986,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(997,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(1000,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(1012,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(1024,1): undefined reference to
`lcd_fix_string'
Transistortester.o:D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte
\Transistortester\Debug/.././Transistortester.c:1041: more undefined
references to `lcd_fix_string' follow
Transistortester.o: In function `AutoCheck':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(1075,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(1076,1): undefined reference to
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(1077,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(1078,1): undefined reference to
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(1079,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(1080,1): undefined reference to
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(1099,1): undefined reference to
`lcd_clear'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(1100,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(1101,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(1102,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(1103,1): undefined reference to
`lcd_fix_string'
Transistortester.o: In function `main':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(44,1): undefined reference to `lcd_init'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(52,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(53,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(58,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(59,1): undefined reference to
`lcd_fix_customchar'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(60,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(61,1): undefined reference to
`lcd_fix_customchar'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(63,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(64,1): undefined reference to
`lcd_fix_customchar'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(67,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(68,1): undefined reference to
`lcd_fix_customchar'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(69,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(70,1): undefined reference to
`lcd_fix_customchar'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(99,1): undefined reference to `lcd_clear'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(124,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(125,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(132,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(134,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(135,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(136,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(138,1): undefined reference to `lcd_data'
Transistortester.o:D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte
\Transistortester\Debug/.././Transistortester.c:139: more undefined
references to `lcd_data' follow
Transistortester.o: In function `main':
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(157,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(162,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(164,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(178,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(179,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(190,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(196,1): undefined reference to `lcd_clear'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(197,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(198,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(199,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(200,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(201,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(202,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(229,1): undefined reference to `lcd_clear'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(230,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(233,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(234,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(235,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(236,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(239,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(245,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(246,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(248,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(249,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(250,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(251,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(252,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(256,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(257,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(258,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(259,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(260,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(266,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(267,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(268,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(269,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(270,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(334,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(335,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(336,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(337,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(338,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(339,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(340,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(360,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(362,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(366,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(368,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(371,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(372,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(373,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(374,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(375,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(376,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(377,1): undefined reference to
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(378,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(383,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(393,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(395,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(397,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(399,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(400,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(403,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(405,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(406,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(411,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(416,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(417,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(418,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(419,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(420,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(423,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(425,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(428,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(430,1): undefined reference to
`lcd_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(431,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(436,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(439,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(445,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(446,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(447,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(461,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(462,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(463,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(464,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(465,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(468,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(469,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(470,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(471,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(472,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(475,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(476,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(477,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(478,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(479,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(482,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(509,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(510,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(511,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(512,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(518,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(519,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(520,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(521,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(523,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(524,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(525,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(526,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(527,1): undefined reference to `lcd_data'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(528,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(536,1): undefined reference to
`lcd_command'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(537,1): undefined reference to
`lcd_fix_string'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(538,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(539,1): undefined reference to `lcd_ziff1'
D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\D
ebug/.././Transistortester.c(540,1): undefined reference to `lcd_ziff1'
Im makefile findet sich folgende Zeile:
>OBJECTS = lcd-routines.o main.o swuart.o wait1000ms.o CombineToLong.o ReadADC.o
Die Source-Dateien dazu müssen kompiliert bzw. assembliert werden, also
füge genau die deinem Projekt hinzu.
Oliver
Oliver schrieb:
> Im makefile findet sich folgende Zeile:>>OBJECTS = lcd-routines.o main.o swuart.o wait1000ms.o CombineToLong.o ReadADC.o>> Die Source-Dateien dazu müssen kompiliert bzw. assembliert werden, also> füge genau die deinem Projekt hinzu.>> Oliver
.o Files gibt es ja nicht, alle anderen .h und .s Files sind enthalten.
Aus main.c ist Transistortester.c geworden, der natürlich auch enthalten
ist.
Bruno M. schrieb:> .o Files gibt es ja nicht, alle anderen .h und .s Files sind enthalten.> Aus main.c ist Transistortester.c geworden, der natürlich auch enthalten> ist.
lcd-routines.c hast du vergessen.
Außerdem die Optimierungsstufe auf 's' stellen.
Stefan Ernst schrieb:
>> lcd-routines.c hast du vergessen.>> Außerdem die Optimierungsstufe auf 's' stellen.
Ich war irrtümlich davon ausgegangen, daß alle .c Dateien bereits
eingeschlossen sind.
Nachdem lcd-routines.c ebenfalls eingeschlossen ist bleiben von den 187
Fehlermeldungen noch die ersten 5.
Optimierungsstufe???? Wie und wo stelle ich das ein? Ich hab zwar in
meinem schlauen Buch geblättert, aber nichts brauchbares gefunden!
Bruno M. schrieb:> Nachdem lcd-routines.c ebenfalls eingeschlossen ist bleiben von den 187> Fehlermeldungen noch die ersten 5.
Tja, da wird es jetzt ungemütlich...
Das ist ein Bug in der toolchain. Da das Compilieren bei mir mit
WinAVR2010 per mitgeliefertem makefile funktioniert, aber in Eclipse
auch diese Feherlmeldungen bringt, dürfte eine geänderte
link-Reihenfolge das Problem umgehen. Nur leider weiß ich weder fürs
Studio, noch für Eclipse, wie man das der IDE bei der automatsichen
Makefileerstellung beibringt.
Aber warum kompilierst du nicht einfach mit dem mitgelieferten makefile?
An den Sourcen solltest du bei deinem aktuellen Kenntnissstand eh nicht
herumändern...
Oliver
Bruno M. schrieb:> Das habe ich natürlich als erstes versucht, aber auch das klappte nicht.
Du musst auch
a) das Makefile genau da belassen, wo es ist, und
b) im Studio den richtigen Pfad auswählen.
Stefan Ernst schrieb:
> Du musst auch> a) das Makefile genau da belassen, wo es ist, und> b) im Studio den richtigen Pfad auswählen.
Ich habe das Makefile schon an 3 Stellen versucht:
1) im Order "Transistortester/Eigener Makefile"
2) im Ordner "Transistortester" und
3) im Oedner "Transistortester/Debug", wo es normalerweise steht.
Den Pfad habe ich jeweils in den Properties eingetragen.
Keinen File hat er gefunden???
Sollte Euch nicht noch etwas ganz Schlaues einfallen, dann bin ich
geneigt das Thema unter Erfahrung zu verbuchen. Wenn es auch kein
positives Ergebnis gebracht hat, so habe ich, wie schon vorher
festgestellt, viel dazugelernt.
Bei Euch allen, die so viel Zeit investiert haben, bedanke ich mich
herzlich!
Gruß Bruno
Bruno M. schrieb:> Ich habe das Makefile schon an 3 Stellen versucht:
Was gibt es da zu versuchen?
Du sollst das mitgelieferte Makefile genau da lassen, wo es ist.
Stefan Ernst schrieb:
>> Was gibt es da zu versuchen?> Du sollst das mitgelieferte Makefile genau da lassen, wo es ist.
Dann füge ich noch einen 4. Versuch hinzu:
4) im Oedner "Transistortester/Debug", da steht es ja im Original.
Ergebnis unverändert!
Vergiß doch das Studio, das bringt dir gar nichts.
Mach ein Kommandogfenster auf (Dos-Box), wechsel dort in das Verzeichnis
"default", un dann tippst du "make" und "Enter".
Entweder kompiliert dann alles, oder es gibt eine Fehlermeldung, daß
make nicht gefunden wird. Sollte das der Fall sein, den Pfad des
Verzeichnisses, das avr-gcc enthält, in den Systemeinstellungen
eintragen, neue shell starten, und nochmal probieren.
Oliver
Bruno M. schrieb:> 4) im Oedner "Transistortester/Debug", da steht es ja im Original.
Nein, tut es nicht!
In den Originalsourcen (die du selber als ZIP geliefert hast) gibt es
gar keinen Ordner "Debug". Dieser Ordner wird erst durch das AVR-Studio
angelegt. Also hast du selber das Makefile dort hinein
verschoben/kopiert.
Zum dritten (und auf jeden Fall letzten) mal:
Du sollst das Makefile genau da lassen, wo es von vornherein schon ist.
Du sollst es NICHT irgendwohin verschieben oder kopieren.
Oliver schrieb:> Vergiß doch das Studio, das bringt dir gar nichts.
Gerade mal selber ausprobiert. Funktioniert problemlos. Externes
Makefile ausgewählt, Pfad angegeben, Build Solution angeklickt und
voilà, kein Problem.
Stefan Ernst schrieb:
> Bruno M. schrieb:>> 4) im Oedner "Transistortester/Debug", da steht es ja im Original.>> Nein, tut es nicht!> In den Originalsourcen (die du selber als ZIP geliefert hast) gibt es> gar keinen Ordner "Debug". Dieser Ordner wird erst durch das AVR-Studio> angelegt. Also hast du selber das Makefile dort hinein> verschoben/kopiert.>> Zum dritten (und auf jeden Fall letzten) mal:> Du sollst das Makefile genau da lassen, wo es von vornherein schon ist.> Du sollst es NICHT irgendwohin verschieben oder kopieren.
Du hast offensichtlich meine Korrektur nicht gelesen.
Was den Ton betrifft, so will ich mich dazu nicht äußern.
Stefan Ernst schrieb:
>> Gerade mal selber ausprobiert. Funktioniert problemlos. Externes> Makefile ausgewählt, Pfad angegeben, Build Solution angeklickt und> voilà, kein Problem.
Das macht mich nun doch wieder neugierig. Wenn ich Dich richtig
verstehe, dann hast Du es im Studio 5 getestet, oder?
Das Problem mit dem falschen Pfad konnte ich aufklären:
Studio 5 legt ja beim Eröffnen eines Projektes sofort immer die
gleichnamige .c Datei an, in meinem Fall also Transistortester.c. Damit
gibt es das File main.c wie es im Ursprungsprojekt benannt ist, nicht.
Nun habe ich im Makefile die Datei main.c durch Transistortester.c
ersetzt, worauf mit dem Bezug auf das Makefile die Fehlermeldung "***
missing separator. Stop" kam.
Wenn ich die ursprüngliche main.c einschließe und Transistortester
entferne, zeigt Build folgendes:
------ Rebuild All started: Project: Transistortester, Configuration:
Debug AVR ------
Build started.
Project "Transistortester.cproj" (ReBuild target(s)):
Target "PreBuildEvent" skipped, due to false condition;
('$(PreBuildEvent)'!='') was evaluated as (''!='').
Target "CoreRebuild" in file "C:\Program Files (x86)\Atmel\AVR Studio
5.1\Vs\Compiler.targets" from project
"D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\
Transistortester.cproj" (target "ReBuild" depends on it):
Task "RunCompilerTask"
C:\Program Files (x86)\Atmel\AVR Studio 5.1\make\make.exe -C
"D:\Documents\Elektronik\Mikroprozessoren\GCC\Projekte\Transistortester\
default" -f "Makefile" clean all
Das System kann den angegebenen Pfad nicht finden.
make: Entering directory
`D:/Documents/Elektronik/Mikroprozessoren/GCC/Projekte/Transistortester/
default'
rm: cannot lstat `dep/*': Invalid argument
rm -rf lcd-routines.o main.o swuart.o wait1000ms.o CombineToLong.o
ReadADC.o TransistorTester.elf dep/* TransistorTester.hex
TransistorTester.eep TransistorTester.lss TransistorTester.map
make: [clean] Error 1 (ignored)
avr-gcc -Wall -DWITH_SELFTEST -DWITH_AUTO_REF -DREF_C_KORR=16
-DR_MESS -DC_MESS -DCAP_EMPTY_LEVEL=3 -DAUTOSCALE_ADC -DNO_AREF_CAP
-DUSE_EEPROM -DPULLUP_DISABLE -DANZ_MESS=44 -DPOWER_OFF=5 -DBAT_CHECK
-DBAT_OUT=150 -DBAT_POOR=64 -DF_CPU=8000000UL -mmcu=atmega168 -gdwarf-2
-std=gnu99 -Os -funsigned-char -funsigned-bitfields -fpack-struct
-fshort-enums -MD -MP -MT lcd-routines.o -MF dep/lcd-routines.o.d -c
../lcd-routines.c
process_begin: CreateProcess(NULL, avr-gcc -Wall -DWITH_SELFTEST
-DWITH_AUTO_REF -DREF_C_KORR=16 -DR_MESS -DC_MESS -DCAP_EMPTY_LEVEL=3
-DAUTOSCALE_ADC -DNO_AREF_CAP -DUSE_EEPROM -DPULLUP_DISABLE
-DANZ_MESS=44 -DPOWER_OFF=5 -DBAT_CHECK -DBAT_OUT=150 -DBAT_POOR=64
-DF_CPU=8000000UL -mmcu=atmega168 -gdwarf-2 -std=gnu99 -Os
-funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -MD -MP
-MT lcd-routines.o -MF dep/lcd-routines.o.d -c ../lcd-routines.c, ...)
failed.
make (e=2): Das System kann die angegebene Datei nicht finden.
make: *** [lcd-routines.o] Error 2
make: Leaving directory
`D:/Documents/Elektronik/Mikroprozessoren/GCC/Projekte/Transistortester/
default'
Done executing task "RunCompilerTask" -- FAILED.
Done building target "CoreRebuild" in project "Transistortester.cproj"
-- FAILED.
Done building project "Transistortester.cproj" -- FAILED.
Build FAILED.
========== Rebuild All: 0 succeeded, 1 failed, 0 skipped ==========
Bruno M. schrieb:> Das macht mich nun doch wieder neugierig. Wenn ich Dich richtig> verstehe, dann hast Du es im Studio 5 getestet, oder?
Ja, und auch im Studio 6.
Stefan Ernst schrieb:
> Bruno M. schrieb:>> Das macht mich nun doch wieder neugierig. Wenn ich Dich richtig>> verstehe, dann hast Du es im Studio 5 getestet, oder?>> Ja, und auch im Studio 6.
Dann beschreibe doch bitte im Detail was Du gemacht hast.
Ich mache folgendes:
- Eröffnung eines Projektes mit dem Namen Transistortester
- kopieren des Codes von main.c nach Transistortester.c
- kopieren aller Originalfiles in den Ordner Transistortester
- einschließen der übrigen Files in das Projekt
- Änderung im Makefile (main.c gegen Transistortester.c)
- Einstellung des externen Makefiles in den Properties und build
Bruno M. schrieb:> Dann beschreibe doch bitte im Detail was Du gemacht hast.
Habe ich eigentlich schon, es war nicht mehr als das.
Projekt angelegt, ZIP-Inhalt kopiert, externes Makefile eingestellt, und
dann Build.
Stefan Ernst schrieb:
>> Habe ich eigentlich schon, es war nicht mehr als das.> Projekt angelegt, ZIP-Inhalt kopiert, externes Makefile eingestellt, und> dann Build.
D.h. Du hast main.c eingeschlossen und Transistortester.c entfernt,
oder?
Bruno M. schrieb:> D.h. Du hast main.c eingeschlossen und Transistortester.c entfernt,> oder?
Habe ich denn geschrieben, dass ich das gemacht hätte?
Was du ins Projekt einschließt ist für das Compilieren komplett
irrelevant, denn es wird ja ein externes Makefile verwendet. Das spielt
höchstens eine Rolle beim Editieren.
Oliver schrieb:
> Vergiß doch das Studio, das bringt dir gar nichts.>> Mach ein Kommandogfenster auf (Dos-Box), wechsel dort in das Verzeichnis> "default", un dann tippst du "make" und "Enter".>> Entweder kompiliert dann alles, oder es gibt eine Fehlermeldung, daß> make nicht gefunden wird. Sollte das der Fall sein, den Pfad des> Verzeichnisses, das avr-gcc enthält, in den Systemeinstellungen> eintragen, neue shell starten, und nochmal probieren.>> Oliver
Wie Du siehst habe ich noch immer nicht ganz aufgegeben.
Ich habe mal den von Dir vorgeschlagenen Weg versucht. Nachdem ich den
Pfad eingetragen habe fing er auch an zu kompilieren, blieb dann aber,
genau wie im Studio an den Dateien lcd-routines hängen. Daher habe ich
mal statt des Bindestrichs einen Unterstrich eingefügt. Sowohl im Studio
als auch im Kommandofenster hat es dazu geführt, daß sofort die
Fehlermeldung "*** missing Separator. Stop" kam. D.h. auch im cmd lief
davor gar nichts.
Können daraus Schlüsse gezogen werden?
Alle diese Fehler bezogen sich auf die Datei ReadADC.S. Nun gibt es aber
in diesem Projekt eine ReadADC.c, die identisch ist mit ReadADC.S, aber
ohne Assembler auskommt. Versuchsweise habe ich nun einmal die .S
ausgeschlossen und dafür die .c reingenommen und siehe da, es läuft.
Warum das so ist weiß ich noch nicht.
Karl-Heinz Kübbeler schrieb:
> Eine mögliche Ursache für die Schwierigkeiten könnte ein rcall / call> Problem sein. Wegen des größeren Adressraumes des ATmega168 kann ein> rcall nur eingeschränkt benutzt werden. Der rcall ist ein> Unterprogrammaufruf mit 2 Byte Code. Der call ist ebenfalls ein> Unterprogrammaufruf aber mit 4 Byte Code, bei dem die Zieladresse dafür> im gesamten Speicherbereich liegen kann. Die Zieladresse wait10ms ist> eine externe Adresse. Möglicherweise mag Deine Compilerversion keine> kurze Adressierung für externe Adressen. Die Vorgehensweise ist auch> riskant, da sich ja erst beim Binden der übersetzten Objekt-Module (.o)> herausstellt, ob die kurze Adressierung überhaupt möglich ist.> Du kannst ja mal prüfen, ob sich die Fehlermeldungen alle auf rcall> Befehle> beziehen. In diesem Fall kann man bei allen "rcall wait..." Aufrufe und> dem "rcall __udivmodhi4" Aufruf das r entfernen (call statt rcall).> Dadurch wird dann 18 Byte mehr Code verbraucht, es verbleiben aber immer> noch 62 Byte weniger als bei der C-Version.> Dummerweise kennt der ATmega8 den call Befehl nicht, für eine> universelle Assemblerfunktion müßte der Code mit #IF Abfragen angepaßt> werden.
Damit ist auch das Problem mit ReadADC.S gelöst. Der Code läuft nun
einwandfrei!