#include <Arduino.h> #include <M5Unified.h> int num = 0; char buf[100]; void setup() { auto cfg = M5.config(); cfg.serial_baudrate = 115200; // 通信速度をbpsで設定 M5.begin(cfg); M5.Display.setRotation(3); M5.Display.setFont(&fonts::lgfxJapanGothic_16); M5.Display.println("シリアルテスト serial02"); M5.Display.setTextScroll(true); } void loop() { int pos = 0; while (Serial.available()) { //PCから送信された文字があるあいだ、くりかえす char c = Serial.read(); // 1バイト読み取る buf[pos] = c; // 配列buf に格納 pos++; // 格納位置をひとつ右へ } if (pos > 0) { buf[pos] = 0; // さいごに Null (文字列の終端)を追加(これを忘れるとどうなる?) M5.Display.print("> from pc: "); M5.Display.print( buf ); Serial.print("> from pc: "); Serial.print( buf ); // 格納しておいた文字列を表示 if (buf[0] == '0' && pos == 2) { // buf={ 48(='0'), 10(=改行) } のとき num = 0; // num を 0 にする M5.Display.println("Reset num"); Serial.println( "Reset num" ); } delay(2000); } Serial.printf("%d \n" , num ); num++; delay(1000); }