解決策
ATN(Attention)信号はデータラインの状態を表す信号です。データラインには2つのモードがあり、一つがデバイス間でデータ転送に使用される「データモード」、もうひとつがコマンドを送信する「コマンドモード」です。ATN信号がHighである場合はデータモード、Lowである場合はコマンドモードとなります。
NRFD(Not Ready For Data)信号とはデータまたはコマンドの受信の準備を示す信号です。この信号がLowであることはデータを受け取れないことを意味し、受信可能な状態ではHighとなります。
rhdfコマンドとは Release RFD Holdoffを意味し、このコマンドを発行することでデータ受信が可能な状態になります。
データラインのモードをデータモードへ変更(ATN信号をHighに)しようとする前に、すべての文字列(コマンドを含む)を受信し終えてからrhdfコマンドを発行することが推奨されます。rhdfコマンドが発行されると現在のホールドオフ状態をクリアし、そのシーケンスにおいてNRFD信号がリセットされます。それまでNRFD信号がHighであった場合は瞬間的にLowとなります。
この挙動が問題となる場合は、ATN信号を切り替える前にrhdfコマンドを発行するようにします。