Timer avbryter på DP32 (12 / 15 steg)
Steg 12: Loop kod
Loop koden är lite konstig så låt mig dela upp det för dig. Det börjar med en if-programsats som kontrollerar för variabeln flagga vi satt i våra avbrottskod. Om avbrottet har körts, då löper vi koden inuti loop.
Det första vår kod gör, då ligger den första lysdioden hög. Om avbrottet inte har körts nyligen, satt vi det LED låg (som du kan se ner på botten bredvid annan-uttalande. Detta låter oss få en känsla för hur snabbt våra avbrott frekvens verkligen är.
De nästa tre kodblock ställa våra andra lysdioder hög eller låg baserat off deras respektive bitar. Istället för att ge varje LED egen variabel, är de alla knutna till lite inuti våra räkna variabel. Detta fungerar som en egen slags efter scaler, bromsa våra avbrott så vi kan se det tydligare. LED 2 blinkar hälften så fort våra avbrott LED (LED 1). LED 3 blinkar hälften så fort LED 2 och LED 4 blinkar hälften så fort LED 4.
Dessutom kan vi öka bitars SKIFT att sakta ner våra lysdioder ännu mer. Jag ska visa dig hur man gör det i nästa steg.
Det sista stoppet i vår kod är helt enkelt att ställa in uppstartsflaggan avbrott till låg. Så, nästa gång vår kod loopar, det inte åter köra koden tills avbrottet har körts igen.