2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【PlatformIO】ESP32C3・ESP32S3系でSerialの出力ができない問題に対処する

Posted at

問題

ESP32-C3・ESP32-S3系(M5Stamp S3やそれが内蔵されたM5Stack Dialなどを含む)で、Serialを使って文字出力などを行っても、受信側に何も届かない。

解決方法

platformio.iniで、以下の行を追記する。

build_flags = -DARDUINO_USB_CDC_ON_BOOT=1

記載例:

[env:m5stack-stamps3]
platform = espressif32
board = m5stack-stamps3
framework = arduino
monitor_speed = 115200
upload_speed = 1500000
build_flags = -DCORE_DEBUG_LEVEL=3 -DARDUINO_USB_CDC_ON_BOOT=1

詳細

ESP32-C3・ESP32-S3系は、UART経由でのプログラム書き込みに加え、USB-Serial変換無しにUSB経由(CDC)で、JTAGを用いてプログラム書き込みを行うこともできます。
デフォルトでは、Serial出力はUART経由になりますが、Serialの受信側がCDCで接続されていると、Serialで出力した内容は受信できません。
そこで、前述の設定を追記し、Serialの出力先をCDCにする必要があります。

ちなみに、ESP32-S3-DevKitC-1などはUART接続のUSB端子とCDC接続のUSB端子があり、UART側で接続すると無印のESP32と同様に取り扱うことができます。

参考文献

2
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
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?