Raspberry Piを使用してRoland MDX-20フライス盤を実行しようとしています。マシンには小さな入力バッファがあり、ハードウェアフロー制御を使用してコマンドが完了し、新しいコマンドを受信できるときに信号を送信します。以下を使用して正しいシリアル設定を試しました。
stty -F /dev/ttyUSB0 9600 cs8 -parenb -cstopb -clocal crtscts
しかし、catコマンドを使用して送信した場合。
cat ~/(my RML file) > /dev/ttyUSB0
すべてのデータがすぐに送信されます。
他のWindowsユーザーが正常に動作すると報告したStartech.com USBシリアルケーブルがありますが、ケーブルには問題はありませんが、シリアルドライバにはさらに問題があるようです。
この問題を解決する方法についてのアイデアはありますか?
ありがとう
答え1
スターテックのウェブサイトには現在、さまざまなUSB <->シリアルケーブル製品がリストされています。これらの様々な製品は、異なるチップセット、すなわち少なくともFTDIおよびProlificのチップセットを使用する。そしてProlificだけがハードウェアフロー制御をサポートしているようです。
dmesg
デバイスが接続されたら、ProlificまたはFTDI USBデバイスがあるかどうかを確認できます。
USBケーブルを確認したら、次を実行してハードウェアフロー制御をデバッグできます。statserial
別の端末で。
シリアルデバイスがUSB <->シリアルケーブルに直接接続されていない場合は、追加のケーブルの接続を確認することもお勧めします。
答え2
問題が見つかるまで、一時的な回避策としてスループットをたとえばpv
100バイト/秒に制限できます。
pv -L 100 -q < ~/my_RML_file > /dev/ttyUSB0