エレファイン

シリアル(UART)モード



USB-ISSには、シリアル通信の送信のために32バイト、受信のために64バイトのバッファーがあります。
コマンドのフォーマットは以下のとおりです。
SERIAL_IO コマンド (0x62) TxData1 TxData2 TxData3 TxData4 ... TxData n
USB-ISSに接続されたデバイスに送信するデータはバッファーにためられ、PCに対しては、すぐに返信されます。
デバイスからの返信を待ちません。

応答フレームは、下記のとおりです。
ACK (0xFF) または NACK (0x00) TxCount RxCount RxData1 RxData2 ... RxData n

送信バッファーに余裕がなく、送信を受け付けられないときのみ、NACKが返されます。
送信する前に送信するデータ数に対して、バッファーに余裕があることを確認してから、送信データを送ってください。2バイト目は、送信バッファーに残っているデータ数(TxCount)、3バイト目が、受信データ数です。受信データがある場合は、その後に受信したデータが続きます。
常に初めの3バイトを確認し、RxCountが0以外の場合は、そのバイト数のデータを受信してください。
RxCountが0の場合は、それに続くデータはありません。
状態を確認する場合、送信データがなくてもSERIAL_IOコマンド(0x62)だけを送る方法も有効です。受信データがあるかどうかを確認することができます。その場合も応答フレームは、上記と同様です。