LoginSignup
1
1

More than 1 year has passed since last update.

M5Core2×VSCode×PlatformIO シリアル通信で文字化けが起こったら

Last updated at Posted at 2022-08-18

シリアルモニタの文字化けを解決

M5Core2の開発をVScode+PlatformIOで行っている者です。

開発の中でシリアル通信をすると、シリアルモニタ上の文字が文字化けするトラブルが生じました。
その解決法を共有します。

文字化けを解決するためにいじるファイルは、

  1. src/main.cpp
  2. platformio.ini
    2つです。

文字化けを解決の方法は、

  1. 両方(main.cpp,platformio.ini)で設定する通信速度を一致させる
  2. 通信速度を 300/ 1200/ 2400/ 4800/ 9600/ 14400/ 19200/ 28800/ 38400/ 57600/ 115200 で試してみる
    です。

1.src/main.cpp

main.cpp
void setup() {
    Serial.begin(19200); // シリアルポートを開き,通信速度を19200bpsに設定
}

void loop() {}

リファレンス にあるように、
Serial.begin()は、シリアル通信のデータレートをビット/秒(bps)で設定するものです。
void setup()内に書きましょう。

上記のコードでは、通信速度を19200bpsに設定しています。

2.platformio.ini

そもそも platformio.iniとは?

PlatformIOのプロジェクトが必ず持っている設定ファイルです。

monitor_speedを設定しよう

platformio.ini
[env:m5stack-core2]
platform = espressif32
board = m5stack-core2
framework = arduino
monitor_speed = 19200
lib_deps = 
	m5stack/M5Core2@0.1.2

monitor_speedを設定しましょう。
重要なのは、先のmain.cppで設定したのと同じ値にすることです。(本記事は通信速度を19200bps)

この手順を300/ 1200/ 2400/ 4800/ 9600/ 14400/ 19200/ 28800/ 38400/ 57600/ 115200で試していくと、
いずれかの値で文字化けが解決します。たぶん...

もっと正しい解決法がある!というときは教えてほしいです。

追記)
platformio.iniファイルの
platform,board,frameworkはプロジェクトを立ち上げた時点で入力されていて、
lib_depsはライブラリを Add to project したときに入力されます。

この記事は以下の情報を参考にして執筆しました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1