avr-gcc ,hazudik az if:-)

Nagy Endre gumo at lucifer.kgt.bme.hu
Thu Sep 7 10:28:53 CEST 2006


> Idezem a kod ide tartozo reszet.

Gyakorlatilag az egesz kod ide tartozna (lcd_delay, BUTTON_ORA stb. 
deklaraciok), mert anelkul barmi lehet.

> //1ms delay; kell,kulonben nem ertekelodik ki az if.

Dehogynem.

>     if (((!( PIND & BUTTON_ORA)) || (!(PIND & BUTTON_PERC))
>        || (!(PIND & BUTTON_MPERC))) && (!ALARM))

Ebben a feltetelben pl. 3-szor ertekelodik ki a PIND, mivel volatile es 
3-szor van leirva. Ha prelleg a gomb, akkor ez jelenthet 3 kulonbozo 
erteket, es lehet tippelni, hogy mi fog tortenni.

Masreszt ha jol sejtem, a BUTTON_ORA pl. makro. Korul van zarojelezve 
rendesen? Mert ha nincs, ismet csak erhetnek meglepetesek.

A gcc eleg jo fordito, egy iffel azert megbirkozik...

Gumo



More information about the Elektro mailing list