回答:
オシロスコープの波形の読み方は次のとおりです。時間をかけて波形画像を編集し、注釈を付けてどのビットがどのビットであるかを示しました。マイクロコントローラーは1文字につき10ビットを送信します。STARTは常に0、8データビット、STOPは常に1です。ラインも1にあるため、最初のSTART立ち下がりエッジで、バイトが来ていることがレシーバーに警告されます。ビットは最初にLSBで送信されるため、それらを文字通り「見」たい場合は、意味を理解するために水平にミラーリングする必要があります。各ビットの幅はボーレートによって決定され、トランスミッタとレシーバは両方ともボーレートが何であるかを知る必要があります。
次の図から、ASCII文字「A」、キャリッジリターン、ラインフィードの3つの文字が送信されていることがわかります。
println
コマンドを使用しました。つまり、文字列と「\ r \ n」を出力します。3つの文字だから、
Arduinoのprintln()ドキュメントを見ると、最後にキャリッジリターンとラインフィードが追加されていることがわかります。したがって、10進数では65(A)、13(CR)、および10(LF)になり、バイナリでは次のように変換されます。
01000001 00001101 00001010
非同期シリアルデータは、LSBファーストで送信されるため、次のようになります。
10000010 10110000 01010000
あなたの信号はアイドルハイなので、スタートビットは0になり、ストップビットは1になるので、それを各バイトに追加すると、最終的には:
0100000101 0101100001 0010100001
ダイアグラムから正確なタイミングを計算するのは少し難しいですが、それは少なくともおおよそ一致しているようで、余分なビットの一部がどこから来て、なぜそれらが並べ替えられるのかを知る必要があります。Kvegaoroが提供するWikipediaリンクは、非同期シリアルデータに関する多くの優れた背景情報を提供します。
表示するストリームにAsynchronous serialがある場合、オシロスコープは対応する開始ビット、停止ビット、パリティビットを表示します。また、信号が反転されているかどうか、および最も重要なビットが最初であるか、重要なビットが最初であるかどうかを考慮してください。写真に示したシリアルストリームに関する詳細を追加すると、より詳細な回答を提供できます。それ以外の場合は、単なる推測に過ぎません