AVR studio Prvni program nefunguje-funkce delay vůbec nevolá

Zdravím,
zkouším přejít z codevisionAVR na AVR studio (4.17 build 666) a winavr-20090313.
postupoval jsem podle solarskit.wz.cz/avrprogramming.html
kompilace proběhne v pořádku v HW však nefunguje. V debugingu když dojde na delay(1e6) se už nic nestane. V souboru prvni.lss je patrné že se funkce delay vůbec nevolá.

Zkoušel jsem různě program upravovat, měnit cykly, přidávat další příkazy ale nijak zvlášť se mě nedařilo. Občas se podařilo docílit volání funkce delay ale i tak se chovala záhadně.

děkuji za rady.

:arrow_right: administrator: přejmenováno z "AVR studio Prvni program nefunguje"

Zdar, je možné, že ti ji optimalizátor vyhodí jako nepotřebnou (ona totiž “nic užitečného” nedělá. Zkus dát před proměnnou “volatile”: volatile uint32_t time

Děkuji. Bylo to tím. Mám obavy že s tím nebudu kamarád. Ale nevzdávám to.
Jen ještě takový nepodstatný dotaz. Proč se main volá instrukcí call? nezabere to “zbytečně” jednu návratovou adresu? Existuje porovnání/zkušenost s výslednou velikostí kódu z codevisionAVR a WinAVR

:arrow_right: administrator: příspěvek byl upraven
Předchozí příspěvky se necitují.

Zabere, ale to většinou není taková tragédie :wink:
Nicméně main lze napsat s atributem “noreturn”. Možná by to mohlo řešit tuhle drobnost.
V manuálu gcc je to str. 58