LoginSignup
4
6

More than 3 years have passed since last update.

m5stackでUART Loop Backをしてみる

Last updated at Posted at 2019-08-04

teratermでループバックテスト

m5stackを使ってUARTテストをします。
m5stack - USB - PC(teraterm)とつないでやり取りしてみました。

m5stackについて調べた自分の記事のテスト編になります。

m5stackで遊ぼう
https://qiita.com/zasshyu6/items/35a1048a9781bdcfebb7

開発環境

  • windows 10 Home 64bit
  • Visual Studio Code 1.36.1
  • PlatformIO
    • 使用言語はarduino

m5stackのUARTについて

ESP32のDatasheetとm5stackの回路図とにらめっこしながら調べてみたら以下のことが分かった。

  • ESP32にはUART0,1,2と3チャンネル用意されている。
    • UART0GPIO1,3
      • CP2104をつかってUSB-UART変換をしている。
      • m5-Busで外部にも出ているが、USBだけで使うのが無難かな。
    • UART1GPIO9,10
      • このPINはGD25Q32Cっていうシリアルフラッシュにつながっていてm5-Busに出ていないので使用不可。
    • UART2GPIO16,17
      • m5-Busに出てるピンで唯一何もつながっていないチャンネル。

PlatformIOではUART0,1,2はそれぞれserial,serial1,serial2と設定されている。
serialHardwareSerial.cppでそれぞれ定義されていたが、serial1は接続pinの関係上使えない様子です。
以下の記事も参考にさせていただきました。ありがとうございます。

m5stackのserial1は無い
https://boiledorange73.hatenablog.com/entry/2018/11/08/181752

m5stackにUSBをつないで通信してみよう

以上を調べたので実際にくんでみました。
main.cppだけgit hubに上げました。
https://github.com/zasshyu66/m5stack_Study/tree/master/USBserialloopbacktest

シリアルの設定は以下。(速度以外デフォルト)

  • serial(UART0)
  • Data bit :8 bit
  • No Parity
  • 1 stop bit

テストはteratermでPCとUARTやり取りをしました。
動作は、PCで入力された文字をLCDに表示とPCにそのまま返しています。
ButtonA,B,Cはそれぞれが押されたらPC側へボタンが押されたという表示をする。
ボタンのほうはチャタリングとか押しっぱなし判定は入れてないので押してる間はPCに表示を送り続けます。

本当は動画とか入れればいいんだろうけど、動画取るのめんどくさかったのでまたの機会に・・・

次にしてみること

これにてPCとのやり取りはできたので次の実験へ移ります。

タイマ割込み使ってストップウォッチを作ってみよう
https://qiita.com/zasshyu6/items/c0bd9bb592192b3c80e7

4
6
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
4
6