Stránka 1 z 1
_wait_ms
Napsal: 03 pro 2011, 18:46
od jirkasi
Zdravím nově jsem se začal zajímat o atmely, zkoušel jsem v avr studio 5 vytvořit jednoduchý program a když potřebuji pauzu tak jsem použil funkci
_wait_ms a udělalo to výsledný hex soubor přes 10 kb, což by se do atmega8 nevešlo, tedy jsem použil normálně for a prázdný příkaz což funguje, ale je to takové divoké a těžko říct jestli se vůbec dá na to časování nějak spolehnout, nevíte jaká jiná funkce by byla lepší?
Napsal: 03 pro 2011, 20:47
od AB1
Kde je v Avr Studiu funkce _wait_ms() ?
Avrstudio je jenom programovací prostředí.
Nás zajímá použitý překladač. (Avr-gcc?)
Velikost souboru .hex neříká nic o velikosti kódu.
Napsal: 03 pro 2011, 21:18
od jirkasi
jasně, je to v knihovně delay.h
Napsal: 03 pro 2011, 21:40
od AB1
V Avr-gcc je sice knihovna "delay.h", ale neobsahuje funkci _wait_ms().
Takže nevím...
Napsal: 03 pro 2011, 22:14
od jirkasi
odkazuje se to na knihovnu util/delay.h
Napsal: 03 pro 2011, 22:51
od AB1
Bývá zvykem napsat: používám Avrstudio a Winavr.
Ani v knihovně util/delay.h není funkce _wait_ms().
Pleteš si ji asi s funkcí _delay_ms().
Pokud je to tak:
Funce _delay_ms() vyžaduje aby:
1. Optimalizace nebyla O0
2. Argument musí být konstanta (ne proměnná)
_delay_ms(100); //dobře
uint8_t doba=100;
_delay_ms(doba); //špatně
while(doba--)
_delay_ms(1); //dobře
Napsal: 03 pro 2011, 23:04
od jirkasi
dík, ale ve AVR Studiu se optimalizace nezadává, nebo jsem to tedy nenašel
Napsal: 05 pro 2011, 08:36
od divous
Zadává, stačí pořádně prohledat "Options...".
Napsal: 05 pro 2011, 17:38
od jirkasi
Dík našel jsem to, ale nefunguje to stejně, je tam pořád velikost hex souboru při použití 2 _delay_ms s konstantní hodnotou cca 10 kb. Asi už je to avr studio optimalizované pro ty novější mikrokontroléry co mají větší paměť. To nevadí snad někde seženu starší verze
Napsal: 05 pro 2011, 17:42
od Andrea
10kb HEX = 1,25kB HEX a to může být třeba 600B BIN

Napsal: 05 pro 2011, 17:46
od jirkasi
ne je to přesně 8810 znaků tedy bajtů
Napsal: 05 pro 2011, 17:50
od Andrea
Tak to převeď do binu, pak se dá mluvit o skutečné velikosti.
Napsal: 05 pro 2011, 17:53
od jirkasi
to se dělá jak?
Napsal: 05 pro 2011, 17:54
od Andrea
Napsal: 05 pro 2011, 18:01
od jirkasi
dík, já se s tím nějak popasuju