Archiv verlassen und diese Seite im Standarddesign anzeigen : ATTINY13-20 und Delay?
Hallo,
bin schon seit über 2 Stunden am versuchen ein Delay für den ATTiny13 hinzubekommen..
Hätte da jemand eine Idee?
Wenn ich es mit der delay.h versuche, passt die Anwendung nicht mehr auf den Chip :cry:
Schonmal vielen Dank.
Gruß
Dirk
vklaffehn
06.03.2007, 21:08
soweit ich weiß, ist in der delay.h nur ein wirklich kurzes Codeschnipsel als inline ASM definiert, hast du die Optimierungsstufe vom GCC auf -S0 gestellt? Da falle ich auch gelegentlich drauf rein und wundere mich, wenn 5 Zeilen plötzlich den Code um 5 KB aufpusten....
Habe bis auf die Frequenz alles in Avr Studio so gelassen, wie es war... also -O0.
Oder muss ich da noch was anderes einstellen?
vklaffehn
06.03.2007, 21:14
Jupp!! bei -O0 optimniert der gar nicht, das pumpt den Code gern mal auf den Faktor 10-100 auf......
-S0 steht glaube ich ganz unten in der Liste.
delay ist voll böse!! sowas macht ma nit
pollen auf nen event, da verschenkt man rechenzeit.
aber wenn du ein undefiniertes delay haben willst mach halt einfach ne schleife.
uint8_t count;
float multi = 2;
for (count = 0; count <= 0xFF; count++)
multi *= 1.2;
jetzt hast ne schleife die bis 256 geht und ne zeitaufwendige rechnung durchführt ;) float multiplizieren kostet am meisten rechenzeit.
nachteil du hast halt jetzt keinen definierten delay wert.
vklaffehn
06.03.2007, 21:19
naja, delay macht ja nix anderes, als eine Schleife aus NOP 's einzubauen, also nicht soo der Unterschied?
Und den Code nur mal so mit einer float-Variable aufpusten würd ich nicht machen.....
Delay funktioniert nun :)
Lag an -O0 ...
wie ist eigentlich der maximale Delay Wert?
vklaffehn
06.03.2007, 21:23
steht irgendwo in der Hilfe zur AVRlibc, das hängt, glaube ich, vom µC-Takt ab
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.