noInterrupts()

名称

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://www.arduino.cc/reference/en/language/functions/interrupts/nointerrupts/

Last Revision: 2022/09/04

実装の解析

まだ解析していません。

最終更新日

January 4, 2024

inserted by FC2 system