Stap 6: AttachInterrupt()
Dit is de belangrijkste functie achter deze interruptcode. Interrupts instellen en het gebruik ervan correct kunnen zeer complex zijn, maar deze kleine functie allermeest dat voor je doet. Laten we trekken uit elkaar is, ingangen dus je zult begrijpen hoe het te gebruiken.
De chipKIT pagina documenteren attachInterrupt(), labels zijn ingangen als "onderbroken", "functie" en "modus".
"Interrupt" verwijst naar het nummer van de externe interrupt die u wilt gebruiken. De DP32, uC32 en WF32 hebben vier externe interrupts waaruit u kiezen kunt, genummerd van 1 tot 4 op de DP32, en 0 tot en met 3 op de uC32 en de WF32. Later zal ik u tonen hoe te vinden welke interrupts zijn verbonden met wat op je board pinnen, maar voorlopig hoeft u alleen te weten hun nummers.
"Functie" verwijst naar de naam van de functie die u wilt uw ISR. Wanneer uw interrupt wordt geactiveerd, zal uw microcontroller de code uitvoeren in de ISR voor dat interrupt, en vervolgens terugkeert naar de hoofdlus waar deze was gebleven. In ons voorbeeld noemden we onze ISR "LEDchange".
Ten slotte, 'modus' verwijst naar wat ook bekend als is "de polariteit van de rand". In principe vertelt je de interrupt te activeren ofwel wanneer de spanning van hoogspanning (meestal 3.3 Volt gaat) naar lage spanning (meestal gemalen), of van laagspanning te hoge spanning. Op dit moment wordt onze interrupt ingesteld op "FALLING", ook wel bekend als een dalende rand. Dit betekent dat het zal leiden tot wanneer de spanning van hoog naar laag daalt. Als je wilde om te activeren wanneer de spanning ging van laag naar hoog, gebruikt u "RISING". U kunt ook "Wijzigen" als je gewoon de interrupt trigger wanneer er een verandering in spanning, wilt ofwel gaan van hoog naar laag of laag naar hoog.
Rand polariteit kan een beetje verwarrend zijn, dus probeer deze code wijzigen en zien hoe uw interrupt van gedrag verandert.