Arduino AtlSoftSerial の検証


Arduino には、ソフトウェアでシリアル通信のエミュレートをするソフトシリアルという機能があります。
標準ライブラリ の他に、AtlSoftSerial というライブラリがあります。
標準ライブラリと違いは
(1) 16 ビットタイマーを使用している。
(2) 送信と受信の同時動作が可能。
(3) ピンアサインが受信 8ピン, 送信 9ピンに固定されている。

標準ライブラリと同様の検証 を行いました。
Arduino をもう1台用意して、送信専用にします。
数字を 0,1,2,… と順番に送ります。
被試験側の Arduino の AltSoftSerial で受信して、シリアルモニタに表示します。
20150308_altsoftserila_schematics_verification 20150308_altsoftserila_device_verification_2

AltSoftSerial のスケッチ

#include <AltSoftSerial.h>
AltSoftSerial altSerial;
void setup() {
    Serial.begin( 9600 );
    altSerial.begin(9600);
}
void loop() {
    if ( altSerial.available() ) {
        int c = altSerial.read();
        Serial.write( c );
        altSerial.write( c );
    }	
}

結果は、特に取りこぼしなく、1000 以上まで受信できました。

0
1
...
999
1000
....

結論
ハードシリアルと同等に使えそうです。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です