HardwareSerialは、CPUチップに内蔵のUARTデバイスを使って通信させるユニットです
それに対し、SoftwareSerialは、GPIOのポートを使って、コードでタイミングを取ってシリアル通信を模倣して通信するユニットです
HardwareSerialは、
・高速通信が可能
・専用デバイスで通信してくれるので、CPUが他の処理をしていようが構わず正常な通信ができる
・コマンドを投げることで勝手に通信してくれるのでコードを組むのが楽
・割り込みなどと併用すると完全にバックグラウンドで通信するためオーバーヘッドは意識しなくていい
対して、
・使用できるピンが限られる
・初期設定がわかりにくい
などという欠点があります
SoftwareSerialは、
・GPIOであればどのピンでも使用可能
それに対し、
・コードでタイミングを取るのでそんなに速い速度はダメ。速度が早くなるほど動作は不安定となる
・コードによって通信しているので、通信が終わるまで他の処理ができない
・割り込み処理などで時間がかかると通信エラーになる
という欠点があります
まあ、これらのことを勘案して、都合のいいものを選択するとよろしいかと。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/21 00:39