ISR()

概要

ISR()は、割り込みベクタに登録する関数を定義するためのマクロです。

ソースコード

ISR()は、hardware/tools/avr/avr/include/avr/interrupt.h に定義されています。以下に全ソースコードを示します。

1
2
3
4
#  define __INTR_ATTRS used, externally_visible
#  define ISR(vector, ...)            \
    extern "C" void vector (void) __attribute__ ((signal,__INTR_ATTRS)) __VA_ARGS__; \
    void vector (void)

__attribute__内の、signalは、その関数が割り込みハンドラであることを示します。usedは、未使用に見える場合でもファイルに書き出すよう指示します。externally_visibleは、gccのコンパイルオプションの-fwhole_programの効果を無効にします。

バージョン

7.3.0-atmel3.6.1-arduino7

最終更新日

May 15, 2021

inserted by FC2 system