Hallo, ich habe die Schaltung (von Thomas Pfeifer) zur Temperaturregelung meines Laminators nachgebaut. Nun mein Problem: Die Software muß kalibriert werden. Da ich kein C "spreche" stehe ich vor diversen Fehlermeldungen (siehe Anhang). Zum Compilieren der Software verwende ich AVR-Studio 4.12 Build 472, in Kombination mit WinAVR 20070122. Um es gleich vorweg zu nehmen: ...ich benötige keinen Lehrgang in C-Programmierung, sondern lediglich eine Hilfe um das File zu compilieren. Hier der Link zu Thomas´ Software: http://thomaspfeifer.net/ Vielen Dank Blobb
Das erste warning kommt weil sich der pfad zu delay.h geändert hat, er ssagt dir ja sogar, wiw der neue heisst. Die Signatur von fdevopen hat sich wohl geändert, in der Doku von der avr-libc steht sie jetzt als: FILE* fdevopen ( int(*)(char, FILE *) put, int(*)(FILE *) get ) Die 0 muss weg...
Sieht so aus, als ob das Programm unter einer älteren Version von WinAVR geschrieben wurde. Am einfachsten dürfte es wohl sein, den Autor nach der Version zu fragen, und diese zu installieren.
"AVR-Studio 4.12 Build 472, in Kombination mit WinAVR 20070122. " Zumindest nach offiziellen Angaben von Atmel benötigt das aktuelle WinAVR mindestens die Studio-Version 4.13. Das Problem mit dem geänderten fdevopen löst das aber auch nicht. Ich würde es mal mit der letzten 2006-WinAVR-Version probieren. Oliver
Hallo, ich habe jetzt versucht mit einer älteren Version von WinAVR (20050214)zu compilieren. Folgendes Ergebnis: > "make.exe" all avr-gcc -g -Wall -Os -mmcu=atmega8 -c -o Laminator.o Laminator.c Laminator.c: In function `main': Laminator.c:87: warning: 'pwm' might be used uninitialized in this function avr-gcc -g -Wall -Os -mmcu=atmega8 -Wl,-Map,Laminator.map -o Laminator.elf Laminator.o avr-objdump -h -S Laminator.elf > Laminator.lst avr-objcopy -j .text -j .data -O ihex Laminator.elf Laminator.hex avr-objcopy -j .text -j .data -O binary Laminator.elf Laminator.bin avr-objcopy -j .text -j .data -O srec Laminator.elf Laminator.srec avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O ihex Laminator.elf Laminator_eeprom.hex avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O binary Laminator.elf Laminator_eeprom.bin avr-objcopy -j .eeprom --change-section-lma .eeprom=0 -O srec Laminator.elf Laminator_eeprom.srec > Process Exit Code: 0 Hierbei stört mich folgende Zeile: Laminator.c:87: warning: 'pwm' might be used uninitialized in this function Kann mir einer von Euch helfen ? Es geht mir lediglich darum das File zu compilieren, es in den AVR zu brennen, damit die Temparaturregelung korrekt arbeitet. Was mache ich eigentlich mit dem "makefile" ? Benötige ich das zum fehlerfreien compilieren ? Gruß,
warnings zu ignorieren ist zwar nicht schön, aber ansonsten war dein make doch erfolgreich. brenn einfach mal und schau, obs funktioniert. (exit code 0 => kein fehler)
"Was mache ich eigentlich mit dem "makefile" ? Benötige ich das zum fehlerfreien compilieren ?" Nix. Du hast schon fertig compiliert. Das hex-file findest du im Ordner "default". "warning: 'pwm' might be used uninitialized in this function" sagt genau das, was da steht. Der Compiler ist der Meinung, daß es eventuell möglich ist, daß die Variable pwm uninitialisiert benutzt werden kann. Das liegt nicht am Compiler, sondern am Sourcecode. Erfahrungsgemäß liegt der gcc mit der Warnung aber nicht immer richtig. Also kannst du dich jetzt beim Autor beschweren, oder das Problem selber lösen, oder es einfach so lassen. Fehlerfreie Software gibt es sowieso nicht :-) Oliver
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.