Sida 2 av 2

Postat: 16 februari 2006, 23:59:16
av monstrum
Hatten motsvarar den bitvisa logiska operationen XOR. Alltså, om en bit i båda operanderna är lika så blir resultatet 0.

Denna är ganska märklig att använda som evaluerande funktion i en if-sats eftersom det kommer att medföra att påstående i princip är sant av andra anledning än den tänkta.

Varför? Jo för om nu hela PIND inte är helt identisk med _BV(PD1) (som är lika med talet 0x02), så blir resultatet av XOR:en något skilt från noll, vilket gör att if satsen alltid körs.

Jag skulle rekommendera att du kollar efter pulserna i två steg, ett där du väntar på att pulsen skall gå hög, och ett där du väntar på att den går låg igen.[/code]

Postat: 17 februari 2006, 00:02:44
av Virr3
Okej. Tack så mycket.
Får göra de imorgon. Nu är de dax att sova.