FireBeetle 2のHardwareSerialについて調査しました。
FireBeetle 2のHardwareSerialについて
FireBeetle 2で使用しているESP32には、UART0、UART1、UART2のポートがあります。各UARTのポートは次のように割り当てられています。UART0はFireBeetle 2のUSBに接続されています。
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 |
---|---|
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){ ・・・