avr-gcc ,hazudik az if:-)

Nagy Endre gumo at lucifer.kgt.bme.hu
Fri Sep 8 13:06:56 CEST 2006


> Igen,ez lehetseges!Az INT0,1 labakon is van nyomogomb es elegge beporog 
> neha,nehet hogy itt is ez van!De pl. atraktam az if.et az timer1 
> overflow rutinba es ott jol mukodik!

Ennek eleg egyszeru az oka: a megszakitas ott le van tiltva. Ha viszont a 
megszakitason kivul hasznalod az if-et, akkor a PIND kiolvasasai kozben
tortenhet megszakitas.

probald meg igy (a tmp-t korabban definialva persze):
cli();
tmp=PIND;
if(tmp...) ...
sei();

A cli-sei nem feltetlenul szukseges, a teljes program ismereteben lehetne 
eldonteni.

> Osszesen 6 nyomogombom van.Gondoltam csak az INTeken levokre rakok pergesmebtesitest ,LS00-val.

Eleg egy kondenzator, az AVR bemenetenek van hiszterezise.
Persze szoftverbol is lehet, ha a feladat lehetove teszi.

Gumo



More information about the Elektro mailing list