modalsoul’s blog

これは“失敗”と呼べるかもしれないが、ぼくは“学習体験”と呼びたい

M5StickCPlusとPCをUSB接続でシリアル通信

M5StickCPlusとMacでシリアル通信した際のメモ


出力先がM5StickCPlusの1.14 インチだけだと表示できる情報量も少なく、デバッグなどで面倒なので、手元のMacに情報を送る方法を探した

シリアル通信

M5StickCPlusには3系統のシリアルポートが存在し、USB-Cが1系統目のSerial

8ピンのG0/26がSerial1、GroveのG32/33がSerial2

Serial

www.arduino.cc

シリアル通信のインタフェースにSerialオブジェクトが提供されている

シリアルモニタ

Arduino IDEの、ツール -> シリアルモニタからシリアルモニタを起動

受信した内容の表示と、送信ができる

コード

#include <M5StickCPlus.h>

void setup() {
  M5.begin();
  M5.Lcd.setCursor(0, 0, 2); 
  M5.Lcd.println("Serial sample.");
  Serial.begin(9600);
}

void loop() {
  if(Serial.available()) {
    String msg = Serial.readString();
    M5.Lcd.print("Received:" + msg);
    Serial.print(msg);
  }
}

シリアルモニタから送信したメッセージをM5StickCPlusのディスプレイに表示し、受け取った内容をそのままシリアル通信で送り返す