Hallo Zusammen! Mein Problem dreht sich bei dem simples lauflicht um die Delay-Zeit. Der Code (siehe Anhang) scheint okay zu sein, und lässt sich mit dem AVR Studio problemlos simulieren. Sobald das Programm auf dem uC ist, ist jedoch keine Wartezeit mehr zu erkennen. Es sind sofort alle Ausgänge auf PortA aktiv. Ich verwende ein externes 16 Mhz Quarz. Die Fuse-Bits müssten eingentlich auch richtig gesetzt sein, ich habe sie im Anhang ebenfalls hinzugefügt. Wo liegt das "zeitliche Problem"? Vielen Dank schon mal im Vorraus für Eure Hilfe. Gruß matze
Jetzt ist mir noch was eingefallen. Kann es sein, dass man mit der Delay-Funktion gar nicht so länge 'Zeiten' verzögern kann? In meinem Fall waren das ja 1000ms.
Ich habs mittlerweile selbst hinbekommen. Es lag wohl an der zu groß gewählten delay-Zeit. Ich hab jetzt eine Schleife gebastelt, in der die delay-Funktion öfters aufgerufen wird. Ist zwar schlechter Code, aber für den Zweck tuts das.
Hättest du die Doku gelesen, dann wäre das gleich klar gewesen. Da stehen die maximalen Delay-Zeiten nämlich drin.
Ich hab mich auch schon oft darüber geärgert, daß C zwar konstante Ausdrücke mit float Zahlen ausrechnen kann, aber nicht für bedingte Compilierung auswerten kann. Das Leben könnte viel leichter sein, wenn man beim Über- oder Unterschreiten von Werten mittels #error eine Fehlermeldung ausgeben könnte. Peter
Ich hab hier noch irgendwo eine gcc-Version auf der Platte rumliegen, die ich so verändert habe, daß sie warnt, wenn der Parameter keine Compilezeit-Konstante ist. Eine Bereichsüberprüfung wäre da auch möglich. Ich hab mich da nur nie weiter darum gekümmert.
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.