FireBeetle 2のHardwareSerialについて調査しました。

FireBeetle 2のHardwareSerialについて

FireBeetle 2で使用しているESP32には、UART0、UART1、UART2のポートがあります。各UARTのポートは次のように割り当てられています。UART0はFireBeetle 2のUSBに接続されています。

UARTポートの割り当て
Name GPIO URAT No.
IO16 GPIO16 URAT2 RXD
IO17 GPIO17 URAT2 TXD
RX GPIO3 URAT0 RXD
TX GPIO1 URAT0 TXD

※1.UART1は、内蔵フラッシュと繋がるバスと共用されるため、デフォルトでは使用できません。

HardwareSerial調査コードの作成

HardwareSerial調査コードはUART2に文字列を出力し、UART2から折り返して入力されたデータをUART0に表示します。

UART2のピン(GPIO16、GPIO17)をショートさせてループ状態にします。

HardwareSerial調査コードを示します。

FireBeetle_HardwareSerial.ino

HardwareSerial mySerial(0);
HardwareSerial mySerial2(2);

void setup()
{
  mySerial.begin(115200);
  mySerial2.begin(115200);
  mySerial2.println('0123\n');
}

void loop()
{
  while (mySerial.available())
  {
    String incomingStream = mySerial.readStringUntil('\n');
    mySerial.println(incomingStream);
  }
  
  while (mySerial2.available())
  {
    String incomingStream = mySerial2.readStringUntil('\n');
    mySerial.println(incomingStream);
  }

}

HardwareSerial調査コードの実行

HardwareSerial調査コードを実行すると次のようにシリアルモニタに表示されます。

表示されている「825373450」は16進変換すると「3132330A」となりアスキーコードとしてみると「”0123”+ラインフィード」となります。

FireBeetle 2とDFPlayer Proを接続して再生

DFPlayer Proによる音声メッセージの再生」でArduino nanoとDFPlayer Proを接続して再生しました。ここではFireBeetle 2とDFPlayer Proを接続して、HardwareSerialにより再生します。

FireBeetle 2とDFPlayer Proの接続
FireBeetle 2 DFPlayer Pro
GND GND
VCC VIN
D17 RX
D16 TX

接続した画像を次に示します。

変更したスケッチを次に示します。

    ・・・
 *@url https://github.com/DFRobot/DFRobot_DF1201S
*/


#include <DFRobot_DF1201S.h>
//#include <SoftwareSerial.h>

//SoftwareSerial DF1201SSerial(10, 11);  //RX  TX
HardwareSerial DF1201SSerial(2);  //RX=16  TX=17

DFRobot_DF1201S DF1201S;
void setup(void){
    ・・・