當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Processing GPIO.noInterrupts()用法及代碼示例


Processing, 類GPIO中的noInterrupts()用法介紹。

用法

  • .noInterrupts()

返回

  • void

說明

防止發生中斷



您可以同時使用 noInterrupts()interrupts() 以確保在您的草圖執行特定任務時不會發生中斷。


br/> 在執行與引腳中斷相關的方法時,會自動阻止來自同一引腳的中斷發生。但是,來自其他引腳的中斷仍然可能發生。如果您還想阻止這些,請將 noInterrupts() 放在回調函數的開頭,將 interrupts() 放在其末尾。

例子

import processing.io.*;
color bgcolor = 0;

void setup() {
  GPIO.pinMode(4, GPIO.INPUT);
  GPIO.pinMode(5, GPIO.INPUT);
  GPIO.attachInterrupt(4, this, "pinEvent", GPIO.RISING);
  GPIO.attachInterrupt(5, this, "pinEvent", GPIO.RISING);
}

void draw() {
  background(bgcolor);
}

void pinEvent(int pin) {
  GPIO.noInterrupts();
  // no other interrupt will disturb us
  println("Received interrupt on pin" + pin);
  if (bgcolor == 0) {
    bgcolor = color(255);
  } else {
    bgcolor = color(0);
  }
  GPIO.interrupts();
}

相關用法


注:本文由純淨天空篩選整理自processing.org大神的英文原創作品 GPIO.noInterrupts()。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。