Schritt 12: Schleifencode
Der Loop-Code ist ein wenig komisch also lassen Sie mich es brechen für Sie. Es beginnt mit einer If-Anweisung, die Kontrollen für die Flag-Variable, die wir in unserem Interrupt Code gesetzt. Wenn der Interrupt ausgeführt wurde, dann laufen wir den Code in der Schleife.
Das erste, was, das unsere Code tut, das dann, ist die erste LED hoch eingestellt. Wenn der Interrupt vor kurzem noch nicht ausgeführt wurde, setzen wir diese LED niedrig (die Sie unten sehen, unten neben der else-Anweisung. Dadurch können wir ein Gefühl wie schnell unsere Interrupt-Frequenz wirklich ist.
Die nächsten drei Codeblöcke Satzbasiert unsere anderen LEDs hohe oder niedrige aus ihren jeweiligen Bits. Anstatt jede LED eine eigene Variable, sind sie jeweils an ein bisschen innerhalb unserer Zählvariable gebunden. Dies fungiert als eine eigene Art von Post-Scaler, unsere Interrupt zu verlangsamen, so dass wir es klarer zu sehen. LED 2 blinkt die Hälfte so schnell wie unsere Interrupt LED (LED 1). LED 3 blinkt die Hälfte so schnell wie LED 2 und LED 4 blinkt die Hälfte so schnell wie LED 4.
Darüber hinaus können wir die Bit-Verschiebung zu verlangsamen unseren LEDs noch erhöhen. Ich werde Ihnen zeigen, wie man das im nächsten Schritt zu tun.
Die letzte Station in unserem Code ist einfach, das Interrupt-Flag zu niedrig eingestellt. Auf diese Weise nicht das nächste Mal unsere Code-Schleifen, es den Code erneut ausführen bis der Interrupt wieder gelaufen ist.