シリアル通信とデバッグは、 アルドゥイーノ ボード。簡単に言えば、シリアル通信は、ボードが他のデバイス(別のコンピューター、周辺機器など)と通信するために使用する方法です。Arduinoシリアル通信について説明するときは、物理コンポーネント(Arduinoのシリアル ポートなど)とソフトウェア コンポーネント(Arduino IDEのシリアル モニターを使用)を区別する必要もあります。
Arduinoシリアルポート
すべてのArduinoボードには少なくとも1つのシリアル ポートがあり、多くのボードには追加のシリアル ポート (Serial1、Serial2など) が組み込まれています。その他の委員会、例えば レオナルド、USB形式のシリアル通信ポートも備えています。USB対応ボードでは、USBをシリアルと呼びます。その他の標準シリアル ポートは「Serial1」で始まり、そこから順に番号が付けられます。
ボード上のSerial (USBの場合はSerial1) と呼ばれるポートは、ピン0と1 (それぞれRXとTX) を介して通信します。これらのピンをシリアル データ転送に使用する場合、デジタルI/Oには使用できなくなることに注意してください。追加のシリアル ピン (たとえば、Arduino Dueのピン18と19) を使用してPCと通信するには、追加のピンがボードの内蔵アダプタに接続されていないため、 USBシリアル アダプタがあることを確認してください。
ArduinoのWebサイトには、さまざまなシリアル ポートと、モデル別の必要なアダプターおよび接続の 詳細な内訳 が掲載されています。
Arduinoシリアルサンプルコード
ボードに内蔵されているシリアル ポートよりも多くのシリアル ポートが必要な場合は、別のオプションがあります。Arduinoソフトウェア シリアル ライブラリを使用すると、RXおよびTX機能を置き換えるソフトウェアによって補完された他のデジタル ピンを使用して、ボードのシリアル接続を拡張できます。
この考え方をよりよく理解するために、Tom Igoeのパブリック ドメインのサンプル コードを次に示します。
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX、TX
voidsetup() {
// シリアル通信を開き、ポートが開くのを待ちます:
Serial.begin(57600);
while (!Serial) {
; // シリアルポートが接続されるのを待ちます。ネイティブUSBポートのみに必要
Serial.println("おやすみなさい月さん!");
// SoftwareSerialポートのデータ レートを設定します
mySerial.begin(4800);
mySerial.println("Hello, world?");
'',a41>
voidloop() { // 何度も繰り返し実行
if (mySerial.available()) {
Serial.write(mySerial.read());
'',a56>
if (シリアル.使用可能()) {
mySerial.書き込み(シリアル.読み取り());
}}
このコードは、ピン10と11をそれぞれRXポートとTXポートとして使用して仮想シリアル ポートを作成します。
Arduinoシリアルモニター通信
Arduino IDEソフトウェアを実行しているPCにデバイスを接続すると、シリアル モニターを使用してボードと通信できるようになります。シリアル モニターを開くには、[ツール] メニューから [シリアル モニター] を選択するか、小さな虫眼鏡をクリックします。コード内でシリアル通信を開始するには、呼び出しと同じボー レートを使用します。
シリアル モニターは、Arduinoがシリアル ポートに出力するすべての情報を表示するため、デバッグには不可欠です。スケッチまたはプログラムが期待どおりに実行されない場合は、コード内でシリアル出力を使用できます。シリアル モニター上のこれらの出力メッセージを使用すると、プログラムの状態を評価してエラーの場所を特定できます。
結論
Arduinoシリアル ポートとArduinoソフトウェア シリアルを理解することは、ボードをパソコンに接続したり、他の周辺機器に接続したり、問題のあるコードや欠陥のあるコードを正常にデバッグしたりするなど、さまざまな基本機能を実行する上で重要です。シリアル関数、 ソフトウェア シリアルなどの詳細については、Arduinoデータベースを参照してください。