Close

Odpověď na: Jak předat metodu IRQ handleru do attachInterrupt?

Úvodní stránka Fórum Software Jazyky Jazyk C++ Jak předat metodu IRQ handleru do attachInterrupt? Odpověď na: Jak předat metodu IRQ handleru do attachInterrupt?

#7486
Zbyšek Voda
Správce

Dobrý den, tento problém je trochu zapeklitý.

Hlavní příčinou problému je to, že funkce, kterou připojujete pomocí attachInterrupt() nesmí mít žádný parametr. Vaše funkce void mmT25::_irqHandler(); sice viditelně žádný parametr nemá, ale jelikož je metodou objektu, je jí automaticky předávám parametr, který je instancí objektu, ke kterému náleží.

Odtud pochází také error, který při kompilaci váš kód hlásí:
cannot convert ‚mmT25::_irqHandler‘ from type ‚void (mmT25::)()‘ to type ‚void (*)()‘
neboli nemůžu překonvertovat funkci, která má jeden parametr – instanci objektu mmT25 – na funkci, která nemá žádný parametr.

Přiznám se, že neznám řešení vašeho problému, ale na tomto fóru: https://forum.arduino.cc/index.php?topic=41713.0 problém řeší a zjevně i úspěšně 🙂