2016-11-17 8 views
0

みんな! シリアルポートからパッケージごとにデータを取得しています。 少数パッケージ以下のように、第二:シリアルポートからPython3への入力

275 242 280 263 235 179 234 236 233 195 203 190 202... 

Aproximatelly 250桁。 毎回異なる金額。

私の主な目的はこのデータからのリアルタイム画像です。 私は以下のようなのpythonを使用します。

ser = serial.Serial('/dev/ttyACM0', 921600, timeout=2, xonxoff=False, rtscts=False, dsrdtr=False) #Tried with and without the last 3 parameters, and also at 1Mbps, same happens. 
ser.flushInput() 
ser.flushOutput() 
while true: 
    data_raw = ser.readline() 
    *some calculation* 

私の最初の質問は:それは(毎秒例えば〜1000年パッケージ)パッケージの速度が速すぎる場合は、いくつかのパッケージを欠場することは可能ですか? または私は次のように、パイプを使用する必要があります。

cat /dev/ttyS0 | python3 script.py 

私の2番目の質問です:私がしなければならない言語は任意の損失を回避するために使用することは何? Matlabで十分ですか?または多分C++? 私はLinuxを使用しています。

答えて

0

ビットレート921600 bpsのシリアルポートから読み取ります。それを毎秒100,000文字、または10μs/文字と呼んでください。 250文字は到着するのに少なくとも2.5msかかるでしょう - lotを2.5msで行うことができます。 (ちなみに、これは1秒間に400パケット以上を得ることができないことを意味します - あなたはちょうどワイヤーに沿ってビットを埋めることができません!)

デバイスドライバはいくらかのバッファリングを行いますので、それについて。

関連する問題