Linuxシステムは、ポートのボーレートをデフォルト値(9600)に変更し続けます。ポートの転送速度を永久に変更するより良い方法はありますか?

Linuxシステムは、ポートのボーレートをデフォルト値(9600)に変更し続けます。ポートの転送速度を永久に変更するより良い方法はありますか?

私が使用していたFPGAは115200転送速度でプログラムされていたので、#stty -F / dev / ttyUSB0 115200コマンドを使用してLinux USBポートの転送速度を9600から115200に変更しました。

# stty -F/dev/ttyUSB0 -a を使用して新しい転送速度をクロス検証しました。これは私に次のような結果を与えます:

スピード115200ボード;行0;列0;行=0; intr = ^C;exit=^\;erase=^? ; kill = ^U;中断=;開始 = ^S; rpnt = ^W; ;破棄=^ O;時間= 0; -parenb -parodd -cmspar cs8 hupcl -cstopb crread clocal -crtscts -ignbrk -brkint -ignpar -inlcr -igncr icrnl ixon -ixoff -ixany -imaxbel -iutf8opost -olcuc -ocrnl onlcr0n bs0 vt0 ff0isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc

ただし、プログラムを実行すると、ボーレートは9600に戻ります。 python new.pyインターフェースを検索しています... ['/dev/ttyUSB0']

ser: シリアル (ポート='/dev/ttyUSB0',転送速度=9600、バイトサイズ=8、パリティ='N'、ストップビット=1、タイムアウト=なし、xonxoff=False、rtscts=False、dsrdtr=False)。

どうすればいいですか?

ベストアンサー1

pyserialを使用して転送速度を明示的に言及しない場合は、次のようにします。9600デフォルトとして。したがって、以前のボーレート設定は役に立ちません。 sttyコマンドを使用してボーレートを115200に設定し、レシーバーをcat /dev/ttyUSByに設定してから、echo hello> /dev/ttyUSB0を試してください。

おすすめ記事