「Arduinoの基礎」の版間の差分
ナビゲーションに移動
検索に移動
→割り込みとISR
81行目: | 81行目: | ||
また、attachInterruptの引数にはピンの番号ではなく、割込み番号を指定することに注意すること。<br> | また、attachInterruptの引数にはピンの番号ではなく、割込み番号を指定することに注意すること。<br> | ||
ピン番号から割込み番号の解決には、digitalPinToInterruptを使用する。<br> | ピン番号から割込み番号の解決には、digitalPinToInterruptを使用する。<br> | ||
attachInterruptで指定した関数には幾つかの制約があるので、次の点に注意する。<br> | |||
* delay関数は機能しない。 | |||
* millis関数の戻り値が増加しない。 | |||
* シリアル通信により受信したデータは、失われる可能性がある。 | |||
* 割り当てた関数のなかで値が変化する変数にはvolatileをつけて宣言する必要がある。 | |||
<br> | <br> | ||
次のサンプルコードでは、toggle_ledという名前のISRを、D2ピンでの割込み処理に指定している。<br> | 次のサンプルコードでは、toggle_ledという名前のISRを、D2ピンでの割込み処理に指定している。<br> |