2016年6月18日土曜日

pyserial on linuxでのbaurateのバグ

Linux上でpythonを使ってシリアル通信をしていたのですが、ボーレートの設定についてはまったので書いておきます。
pyserialでシリアル通信を設定するとき

self.ser = serial.Serial()
self.ser.port="/dev/ttyUSB0"
self.ser.boudrate=1000000
self.ser.open()

とかけますが、open()にバグがあり、ボーレートが9600の固定になります。

self.ser = serial.Serial("/dev/ttyUSB0", 1000000)



と書くとボーレートを変更することが出来ます。
またシリアルターミナルとしてscreenというコマンドがあるのですが、こいつは古典的な標準ボーレート(9600、115200とか)しか対応していません。コンソールは開きますがボーレートは9600になります。
これで2日間無駄にした。

0 件のコメント:

コメントを投稿