NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(CurieIMU.detachInterruptsの使い方)

■CurieIMU.detachInterrupts関数
 CurieIMU.hライブラリの CurieIMU.detachInterrupts関数は、割り込みアクションを削除します。

■使用例
 CurieIMU.detachInterrupts関数を使ったArduinoIDEのプログラム例は図1の通りです。
 このプログラムを実行するとCurieIMU.interrupt関数で「CURIE_IMU_FREEFALL」機能の割り込みを有効にし、CurieIMU.attachInterrupt関数で割り込み発生時に実行する関数(今回はTESTと言う名前の関数)を指定します。上記セットアップ完了後、Genuino101自体が自由落下したと「CURIE_IMU_FREEFALL」機能が判定すると、図2の様にシリアルモニタ上に「FREEFALL!」と出力し、CurieIMU.detachInterrupts関数で割り込みを削除します。その後Genuino101自体が自由落下したとしても、割り込みは実行されない為、シリアルモニタ上には何も表示されなくなります。

#include "CurieIMU.h"
void TEST () {
  Serial.println("FREEFALL!");
  CurieIMU.detachInterrupt();//割り込みアクションを削除します。
}

void setup() {
  Serial.begin(9600); // シリアル通信を初期化
  while (!Serial);    // シリアルポートが開くのを待つ
  Serial.println("Initializing IMU device...");
  CurieIMU.begin(); // デバイスの初期化
  CurieIMU.setAccelerometerRange(2); // 加速度計の範囲を2Gに設定する
  CurieIMU.interrupts(CURIE_IMU_FREEFALL);//選択した機能の割り込みを有効にします。
  CurieIMU.attachInterrupt(TEST);//割り込みアクションをアタッチします。
}

void loop() {}
イメージ 1
図1:プログラム例
 
図2:プログラム実行結果
 

■「CurieIMU.detachInterrupts()」にパラメータはありません。

 

■その他関数
Curie IMUライブラリに関するその他関数については、コチラをご覧ください。

 

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【ArduinoIDE reference】目次に戻る