まで備忘録的日記

雑多なことで調べたものなど困った時の備忘録的な何か。

Arduino Nano 33 BLE Senseメモ

買ったまま放置してたArduino Nano 33 BLE Senseを少し試す。
環境:Arduino IDE 1.8.16
ボードマネージャ:Arduino Mbed OS Boards 2.6.1
Arduino Nano 33 BLEを選択。

書き込み時にCOM Portを開いたり閉じたりしてるせいかシリアルモニタが表示がうまくいかなかったり。(連続で書き込もうとするとポートが変わってたりした)
割り込み(attachInterrupt)を使ってみるが、クラッシュする? 検索するとそれらしいことが書いてあることを見つけたけど直ったのかな?
ただクラッシュするのがSerial接続してるときで、繋いでないときはうまく動いているように見える。
試したソースコードは下記。

const byte LED_PIN = 13;
const byte INPUT_PIN = 2;
boolean buttonState=HIGH;

void button_state_update(){
  buttonState = !buttonState;
  //Serial.println("hit");
  if(buttonState == LOW) {
    digitalWrite(LED_PIN, HIGH);
  } else {
    digitalWrite(LED_PIN, LOW);
  }
}
void setup() {
  Serial.begin(9600);
  pinMode(LED_PIN, OUTPUT);
  pinMode(INPUT_PIN, INPUT_PULLUP);
  attachInterrupt(digitalPinToInterrupt(INPUT_PIN), button_state_update, FALLING);  

}
 
void loop() {
}

PlatformIOでも試す。
BoardをArduino Nano 33 BLEを選択。
↑のソースコードを同様に張り付けて実行。
PlatformIOは自動でCOM Portを探してくれるらしく、そのままSerial Monitorにつながる(自動で切り替わったり、Serial Monitorボタンを押すと切り替わる)。

温度センサは動くことを確認、BLEはArduinoBLEで、Scanが動いた。