Arduinoで遊ぶページ

Arduinoで遊んだ結果を残すページです。
garretlab
ISR()

ISR()

概要

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

ソースコード

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

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

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

バージョン

Arduino 1.0.5



メニューを表示するためにJavaScriptを有効にしてください。

Arduinoで遊ぶページ
Copyright © 2012 garretlab all rights reserved.
inserted by FC2 system