USBでCTS / RTSハードウェアフロー制御を使用する

USBでCTS / RTSハードウェアフロー制御を使用する

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

問題が見つかるまで、一時的な回避策としてスループットをたとえばpv100バイト/秒に制限できます。

pv -L 100 -q < ~/my_RML_file > /dev/ttyUSB0

関連情報