noInterrupts()

Last revision:2025/06/06

名称

noInterrupts()

説明

割り込みを禁止する。禁止した割り込みは、interrupts()で再度許可することができる。割り込みによって、バックグラウンドである種の重要なタスクが起動する。 割り込みはデフォルトでは許可されている。割り込みが禁止されているときには動作しない関数がある。 また、外部からの受信したデータは無視される。 割り込みは、プログラムが実行されるタイミングに少し悪影響を与える。 特に、プログラムのクリティカルセクションでは割り込みを禁止することがある。

書式

プログラムで割り込みを禁止するには、以下の関数を使う。

noInterrupts()

引数

なし。

戻り値

なし。

コード例

以下のコードは、割り込みを禁止後、割り込みを許可する。

1
2
3
4
5
6
7
8
void setup() {}

void loop() {
  noInterrupts();
  // critical, time-sensitive code here
  interrupts();
  // other code here
}

注意

ネイティブUSB機能を持つArduinoボード(例: Leonardo)で割り込みを禁止すると、USB機能も禁止するので、そのボードはポートメニューに表示されなくなる。

参照

訳者註

noInterrupts()はマクロとして定義されている。

オリジナルのページ

https://docs.arduino.cc/language-reference/en/functions/interrupts/noInterrupts/

実装の解析

まだ解析していません。

最終更新日

July 12, 2026

inserted by FC2 system