2011-03-10 16 views
2

私はちょうどバッファがCOMポートでどのように動作するのか疑問に思っています。以下のコードは、私がcomポートをどのように読んでいるかを示したものです。 serial_connection.close()serial_connection.open()を実行するとデータが失われるのではないか、それともバッファに残りますか?理由は、それは実際には仮想ポートであり、私が長時間それに接続しているときに何らかの理由でデータが送信されなくなるということです...Pythonでシリアルポートを読む。バッファーはどのように機能しますか?

import serial 

serial_connection = serial.Serial(
     port = self.SERIAL_PORT, 
     baudrate = self.BAUD_RATE, 
     timeout = 10 
     ) 

while true: 

    serial_connection.close() 
    serial_connection.open() 
    line = serial_connection.readline() 
    print line 

答えて

4

PySerialには、何も紛失していないことを確認するためにデータを受信して​​いる別のスレッドがあります。ただし、OS自体はデータをバッファしません。ポートを閉じてからもう一度開くときに、短時間の間データが失われる可能性は非常に低いです。

関連する問題