Gast
#180468
Hallo zusammen! Ich arbeite seit ewiger Zeit mit der win avr 2004-04-04 und habe nun eine Neuinstallation mit win avr 2005-02-14 am laufen. Ich verwende ein delay.h include (siehe anhang) das mit der neuen win avr nicht mehr funktioniert. Kompilieren tut er alles ohne Probleme. Es sieht so aus, als ob die delays nicht mehr ausgeführt werden... also keine Wartezeiten. aufruf DELAY_US(1000); für eine ms und diese Routine wird dann noch einmal 1000 mal aufgerufen für 1s. F_CPU ist auf 16000000 gesetzt. Die neuen Makefiles bringen jetzt auch diese Konstante mit. Ich habe es mit beiden Varianten probiert (F_CPU über makefile vergeben mit UL am Schluß und so wie vorher) Ich vermutete, daß evtl. die routinen "wegoptimiert" werden und stellte den compiler auf omtimzation 0. Danach funktionierten die Routinen einwandfrei. (Nur wird der Code serh groß) Mit der alten win avr version lief das aber problemlos mit optimization S ! Ich habe jetzt auch schon im Forum gesehen, daß jetzt anscheinend Routinen in der avrlib-c enthalten sind. Das werde ich heute Abend alles mal ausprobieren. Aber wer kann mir den Grund dazu nennen, warum der Code nicht mehr läuft? Oder vieleicht ein paar Tips, wie man möglichst kompatibel bleibt. (PS: Ich verwende Timer u. ISRs, aber an manchen Stellen benötige ich trotzdem delays! :) ) Merci! Christian