S-BUS解析の2回目です。
もやもやが解けた。 RX DATAのMSBとLSBの順番を勘違いしていた。 たとえば,1chのdataは、RX DATAの1BYTE目8bitがLSB、2BYTE目の下位3bitがMSBとなる。 これで、RX 22byteから11bit区切りで16ch分取得する。 アルゴリズムは、3BYTE取得のポインターアドレス値と3BYTE右シフトの回数テーブルを用意してループ処理。
結果: CH DATA 符号無し11bit 000h - 7FFh (センター 400H)
ちなみに実験用MPUのRAMの 80hからRX DATA 25byte(先頭0Fh) 99hからRX DATA 25byte(先頭8Fh)が入っている。 C0hからDFhに16Ch分のDATAが入っている。
次は受信したCh dataを差し替えて、S-BUSへ送信です。
|
|
|