Hallo zusammen,
bin gerade dabei mein altes Canda Starterkit-Board zu entsorgen
und verbaue damit auch einen alten Atmel 90S8515 ...
Lange rede kurzer Sinn wenn ich das folgende Code segment
verwende sind das mal locker 4000 Bytes die der Flash mehr
braucht...
Mag ein Anfängerfehler sein, doch irgendwie kapier ich's nicht
Wo braucht der soviel Speicher ?
(der restliche Code ist erheblich grösser braucht aber
summa summarum nur 2600 bytes)
Macht der die setLed routine inline ? (Compiler optimierung steht bei
-Os)
Wenn die _delay_XX-Funktionen mit Parametern aufgerufen werden, die zur
Compile-Zeit nicht bekannt (konstant) sind, dann wird die komplette
float-lib eingebunden, und die braucht Platz. Abgesehen davon
funktionieren die _delay_XX-Funktionen dann nicht mehr korrekt. Es gibt
zwei unabdingbare Voraussetzungen für die Verwendung von _delay_us und
_delay_ms aus der util/delay.h:
1.: Parameter müssen konstant und zur Compiler-Laufzeit bekannt sein.
2.: Die Compiler-Optimierung muss eingeschaltet sein.
Steht alles auch in der libc-Dokumentation.
Übrigens: Falsches Forum...
...
3.: Der Parameter darf nur einen bestimmten maximalen Wert haben, der
von der Taktfrequenz abhängig ist.
Steht ebenfalls in der libc-Dokumentation.
CU
Ok danke erstmal
Sorry das mit dem falschen Forum -
außerdem muß ich gestehen ich hab die doku
zu libc nicht gelesen <-)
Link ?
Das heisst die alternative würde darin bestehen, die
die while schleife mit dem delay
durch einen aufruf von