Debouncing avbrott med MPIDE del 1: Brute Force (1 / 6 steg)
Steg 1: Snabb recension
Bara för att granska snabbt vad studsande är och varför det är dåligt, kom ihåg att knapptryckningar inte alltid är så ren som vi skulle vilja att de ska vara. Den verkliga världen är alltför squishy och långsam för elektronik, och att knappen kan göra och bryta kontakt flera gånger innan du blir helt deprimerad. Samma sak för att frigöra en knapp.
Detta kallas "studsa" och din microcontroller fungerar så snabbt att det kan utlösa koden från var och en av dessa studsar innan du verkligen vill det också. Debouncing är någon teknik för att ta denna skakis, skakig knappen signal, och ändra den till en enda, skära och torkade, knapptryckning.
Nu, det finns gott om metoder för debouncing knapptryckningar för kod som fungerar på din huvudloop, men avbryter är ett annat djur och behöver behandlas noggrant. Du kan inte Dämpningstid i din huvudloop eller med en normal debouncing bibliotek, eftersom avbrott ersätta allt detta. Det innebär att du Dämpningstid i din avbrott, men din avbrottskod inte köra tills din avbrott utlöses redan!
Jag ska visa dig hur man kommer över denna gåta, och du har fin, ren avbrott signaler innan du vet det!