シリアル(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)だけを送る方法も有効です。受信データがあるかどうかを確認することができます。その場合も応答フレームは、上記と同様です。