1

プログラムを winxp から ubuntu に移動すると、奇妙な問題が発生します。

私は次のようにテストします:

#!/usr/bin/python

import time
from platform import system
import serial
if system()=="Windows":
    serId =2
else:
    serId = '/dev/ttyUSB0'


ser= serial.Serial(serId, 115200, timeout=1)

while True:
    start=time.time()
    ser.write('1')
    t=ser.read(128)
    print time.time()-start
    print len([i for i in t if i != '']), t

勝てばOK。出力:

0.9

128 ************************************************

Ubuntu では、最初は win と同じように見えます。しかし、Ctrl+C で終了し、再起動すると。

time will be 3s and even more
can receive all the 128B content I send.

ser.flush()前にwriteとを追加しreadます。何も変わらない。

それの何が悪いのですか?ubuntuとxpの違いに何か特別な原因がありますか?

4

0 に答える 0