AVRstudio simulator
Jan Waclawek
konfera na efton.sk
Sobota Duben 19 23:55:10 CEST 2014
> > To asi taky ale hlavne davat 1e6 jako celociselnou hodnotu.... to teda
> > vubec netusim, co udela. Spravne by se melo napsat 1000000UL
>
> Kupodivu např. (avr-)gcc to nevadí, pochopí to správně.
Nie je na tom nic "kupodivu", je to normalna konverzia z konstanty typu double (C99 6.4.4.2) na integer (6.3.1.4#1). Kym sa "nevytecie" z rozsahu mantisy double na danej platforme (co je u avr-gcc identicke s float, co je zase "single precision" 32-bitovy binarny IEEE754 format), ani z rozsahu int na ktory sa konvertuje (v tomto pripade uint32_t), tato konverzia dopadne ocakavanym sposobom. "Vubec netusim co to udela" je na druhej strane chvalyhodny defenzivny pristup,
Mimochodom, aj ked ta nutnost pouzitia volatila je v tomto pripade vskutku instuktivne, v konecnom dosledku by som nedoporucoval pouzivanie takychto samodomo loop delayov. Ked uz z akychkolvek (obvykle pochybnych) dovod vznikne potreba loop delay, vrealo doporucujem pouzit funkcie z <avr/delay.h>.
wek
Další informace o konferenci Hw-list