avr-gcc ,hazudik az if:-)
Papp Zoltán
zombi at c2.hu
Tue Sep 5 15:57:37 CEST 2006
Szima Gábor írta:
>
> On Tue, 5 Sep 2006, Pal Lukacs wrote:
>
>> A fenti formaban nem jol ertekelodik ki hosszabb kifejezes az if
>> -ben.Ha rakok a ciklusba egy 10ms delayt,akkor kiertekelodik,csak
>> forditva mukodik.Tehat igaz feltetel eseten az else agat hajtja vegre
>> es forditva
>> Tapasztalt hasonlot mar valaki?
>
> Igen, par honapja irtam is a listara. Ott az if _mindket_ aga lefutott,
> mivel menet kozben a globalis valtozo IRQ-bol megvaltozott (valoszinuleg).
Hát igen, ha volatile változót vagy regisztert vizsgálsz és kétszer
szerepel a kiértéklésben, akkor számítani kell arra, hogy az érték közben
megváltozhat.
Megoldás: interruptot letiltani, vagy ideiglenes változót bevezetni
A lényeg:
TESSÉK MINDIG ÁTNÉZNI A LEFORDÍTOTT ASM KÓDOT, MERT EGYBŐL KIBUKIK A BAKI.
Üdv
--
Papp Zoltán
OneWay Electronics
--------------------------------- Hirdetés ---------------------------------
Mi a C2? http://mail.c2.hu
More information about the Elektro
mailing list