マイクロテクニカ製品サポートFAQ
[一覧] [1つ前に戻る] [マニュアル及び各種ダウンロードページへ]
シリアル通信の戻り値は必ず読んでください,また次のコマンドは必ずACK確認後に送信するを徹底してください
STL-2000ではCPUがUARTの制御とSDカードへのアクセス、MP3デコーダーチップへのデータの転送を行っています。
このCPUは、受信したシリアルコマンドを一度CPU内部のバッファに保存します。その後、処理が行われバッファはクリアーされて、次のコマンドを受信できる状態となります。一般的には、送信要求・受信可能といったハンドシェイク通信をすることが多いですがSTL-2000ではインターフェイスを簡素化するため、STL-2000がコマンドを受信できる状態かどうかを示す物理的な信号線はありません。
その代わり、次のコマンドが受信できるようになると、STL-2000は、">"(0x3E)のACKをUART経由で返します。

次のコマンドを送信する場合には、「必ずこのACKをSTL-2000が送信したことを確認してから送信」してください。
「ACKの確認,その後次のコマンド送信」の手順は必須となります.
ACKを待たずに次のコマンドを送る操作方法は禁止となっております.必ず「ACK受信→次のコマンド送信」を徹底してプログラムの作成をお願い致します.

ACKがSTL-2000から送信される前に次々とシリアルコマンドをSTL-2000に送信すると,STL-2000内のバッファーがオーバーフローしてしまい、制御ができなくなってしまうことがあります。
その場合、一度内部のファームウエアを書き換えてCPUを初期化する以外復旧の方法がありません。確実な動作を継続して行わせるため、UARTにてSTL-2000を制御するマイコン等では、必ずコマンド送信前に毎回ACKの確認を行い、STL-2000がACKを返し、受信可能であることを確認してから、次のコマンドを送信するような設計をお願いいたします。
オリジナル - FAQみたいです - 猫でいいです