メインコンテンツまでスキップ

シリアル通信

このチュートリアルでは、シリアル通信を使用して Aotenjo One ボードと通信する方法を学習します。 シリアル通信は、マイコンの動作確認やデバッグ、コマンドの送信に使います。

事前準備

このチュートリアルでは、以下の機器を使用します。

  • Aotenjo Oneボード MCU: STM32G431CBU6 バージョン: Aotenjo One V1.4
  • ST-LINK V2 クローン
  • BlackPill STM32 ボード

ファームウェアをボードにアップロードするには、ST-LINK V2 クローンが必要です。安価なクローン ST-LINK V2 は 5 ドル以下で購入できます。

USB シリアル変換アダプター

Aotenjo One ボードには USB ポートがないため、シリアル経由でボードと通信するには USB シリアル変換アダプターが必要です。 このチュートリアルでは、BlackPill STM32 ボードを USB シリアル変換アダプターとして使います。市販の USB シリアル変換アダプターや、対応する別の開発ボードでも代用できます。

ヒント

次の開発ボードを USB シリアル変換アダプターとして使用できます。

  • BlackPill STM32 ボード
  • BluePill STM32 ボード
  • ESP32-DevKitC

USB シリアル変換アダプターの図

開発環境の準備

LED 点滅のチュートリアルと同じ開発環境を使います。開発環境の準備に従ってセットアップしてください。

クイックスタート

  1. USB シリアル アダプター コード を BlackPill STM32 ボードにアップロードします。

  2. LED 点滅コードをアップロードします。

  3. ST-LINK V2 書き込み器を Aotenjo One ボードから取り外します。

  4. 次のように、USB シリアル変換アダプターを Aotenjo One ボードに接続します。

    Aotenjo One <-> Blackpill STM32
    3.3V <---> 3.3V
    TX <---> PA3 (RX)
    RX <---> PA2 (TX)
    GND <---> GND
    注記

TX を RX および RX を TX に接続する必要があります。 ::: 5. 次のような USB ケーブルを使用して、USB シリアル変換アダプターを PC に接続します。

  1. 左側のサイドバーにある [PlatformIO] タブをクリックし、[Monitor] ボタンをクリックしてシリアルモニターを開きます。 PlatformIO モニター

Aotenjo One ボードからのシリアル出力がシリアルモニターで確認できるようになりました。

シリアルモニター出力

USB シリアル変換アダプターを使用しながら、Aotenjo One ボードを ST-LINK V2 書き込み器に接続することもできるため、コードのデバッグとシリアル出力の確認を同時に行うことができます。 Aotenjo One を BlackPill および ST-Link V2 に接続

コード

GitHub

main.cpp

#include <Arduino.h>

HardwareSerial Serial1(PA3, PA2);
備考

Aotenjo One はシリアル通信に Serial1 を使用するため、コード内では Serial の代わりに Serial1 を使用する必要があります。

void setup() {
Serial1.begin(115200);

pinMode(LED_PIN, OUTPUT);
delay(1000);
}

void loop() {
Serial1.println("On!");
digitalWrite(LED_PIN, HIGH);
delay(1000);
Serial1.println("Off!");
digitalWrite(LED_PIN, LOW);
delay(1000);
}

Serial1.println() を使うと、データの末尾に改行を付けて送信できます。送信した内容はシリアルモニターで確認できます。