SDI-12デバイスとシリアル通信しようとしていますが、反転した7 データ ビット、偶数パリティ、および1200 ボーでの 1 ストップ ビット (7E1) シリアルが必要です。
データシートから:
SDI-12
通信は 1200 ビット/秒で文字を送信します。各文字には、1 つのスタート ビット、7 つのデータ ビット (LSB ファースト)、1 つの偶数パリティ ビット、および 1 つのストップ ビット (アクティブ LOW または反転論理レベル) があります。
All SDI-12
コマンドと応答は、データ行で次の形式に従う必要があります。コマンドと応答の両方の前にアドレスがあり、キャリッジ リターンとライン フィードの組み合わせで終了します。
これは Serial または SoftwareSerial ライブラリで可能ですか? 追加のハードウェア (3.3 V へのレベルシフターを超える) を回避しようとしていますが、それが唯一の方法である場合はそうします。
SoftwareSerial は反転でき、Serial は 7E1 を実行できることがわかりましたが、どちらかが両方できるかどうかはわかりません。
Arduino Mega (R2) とArduino Uno (R3)にアクセスできます。
通信したいデバイスは次のとおりです。 .decagon.com/assets/Uploads/GS3-Integrators-Guide.pdfは、プロトコルを説明するドキュメントです。6 ページでは、SDI の実装について説明しています。