Stap 1: Quick Review
Gewoon om snel wat stuiteren is en waarom het slecht is, vergeet niet dat knooppersen zijn niet altijd zo schoon als we ze zouden willen. De echte wereld is ook squishy en traag voor elektronica, en die knop zou kunnen maken en breken contact meerdere malen voordat volledig steeds depressief. Hetzelfde geldt voor het vrijgeven van een knop.
Dit heet "bounce", en uw microcontroller werkt zo snel dat het leiden code uit elk van die stuitert tot kan voordat je echt ook wilt. Debouncing is een techniek voor het nemen van dit signaal zenuwachtig, wankel knop, en veranderen het in een enkele, gesneden en gedroogd, knooppers.
Nu, er zijn tal van methoden voor debouncing knooppersen voor code die in de hoofdlus opereert, maar onderbreekt zijn een verschillend dier en moeten zorgvuldig worden behandeld. U kan niet debounce in de hoofdlus of met een normale debouncing bibliotheek, omdat interrupts dat alles vervangt. Dat betekent dat je moet debounce in uw interrupt, maar uw interruptcode niet wordt uitgevoerd totdat uw interrupt wordt reeds geactiveerd!
Ik zal je laten zien hoe je over dit raadsel, en heb je mooie, schone interrupt signalen voordat je het weet!