Page
Stránky / Arduino / C++ pre Arduino / Funkcie API /
Funkcia pripojí užívateľskú funkciu obsluhy prerušenia na pin externého prerušenia. To umožňuje vyhnúť sa periodickej kontrole nejakého pinu a reagovať iba na konkrétnu udalosť na pine. Typické úlohy, kedy je to potrebné je napríklad reagovať na rotačný enkodér alebo tlačidlo.
void attachInterrupts(uint8_t interruptNum, void (userFunc*)(void), int mode);
digitalPinToInterrupt
na jeho získanie. Môžete použiť iba také piny, ktoré umožňujú externé prerušenia.Doska | Použiteľné digitálne piny |
Uno, Nano, Mini | 2, 3 |
Mega | 2, 3, 18, 19, 20, 21 |
Micro, Leonardo | 0, 1, 2, 3, 7 |
Zero | Všetky digitálne piny okrem 4 |
MKR1000 | 0, 1, 4, 5, 6, 7, 8, 9, A1, A2 |
Due | Všetky digitálne piny. |
Čísla pinov, ktoré podporujú prerušenia, sú iné než digitálne piny. Aby ste si ich nemuseli pamätať, môžete použiť makro digitalPinToInterrupt(pin)
. Vo veľa príkladoch, ktoré nájdete na Internete, nie je toto makro použité. Ani ja nie som výnimkou a mnohé moje staršie kódy toto makro nepoužívajú.
Na stránke nájdete niekoľko príkladov použitia.
20.07.2016