PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie viel zykeln sind das ?



NumberFive
20.10.2004, 20:15
static inline void delayloop16(uint16_t count)
{
asm volatile ( "cp %A0,__zero_reg__ \n\t" \
"cpc %B0,__zero_reg__ \n\t" \
"breq L_Exit_%= \n\t" \
"L_LOOP_%=: \n\t" \
"sbiw %0,1 \n\t" \
"brne L_LOOP_%= \n\t" \
"L_Exit_%=: \n\t" \
: "=w" (count)
: "0" (count)
);
}


ist eine genaue delay funktion aber wie lange dauert sie ?
ich weiß das ist ab hängig vom quarz aber wie muß ist es hier rechnen ?

cht
22.10.2004, 19:56
Auf www.atmel.com findest du nen AVR-Befehlssatz im pdf-Format. Da gibts für jeden Befehl eine Seite ausführliche Beschreibung, auch die Zyklenzahl. Die addierst du dann zusammen, das Ganze mal count und du hast die Gesamtzyklenzahl. Durch die Taktfrequenz teilen und du siehst wie lange es dauert.
rtfm ;)
mfG

cht

22.10.2004, 21:19
Sieht man doch Astrein im AVR Studio.

Mit Takten und Zeit.

MFG

NumberFive
23.10.2004, 16:48
kannsr du mir sagen wo man das im AVr studio sehen soll ?

23.10.2004, 16:55
Hallo

Unter view Workspace einschalten, wenn nicht schon geschehen.

Processor aufklappen, dann mal Cycle Counter und Stoppwatch beobachten.

Die Werte kannst du mit einem Doppelklick auf den Wert
ändrn.

MFG
Dieter

NumberFive
23.10.2004, 17:42
danke jetzt habe ich es gefunden