我真的很抱歉在一天中詢問另一個問題。Python:serial.readline() - 如何定義從 n到 n n的EOL
詳細的新問題: 我把來自HOKUYO的激光測距儀連接到我的RaspBerryPi上。
連接等作品發現,由於serial.py
我唯一的問題IST,德恩我發送一個命令,我得到迴音和時間戳+ \ N回。
,緩衝區中的數據如下所示:
MD000007200001\n
2Dh1\n
\n\n
在此之後,傳感器發送測量,其鎖定狀
MD000007200001\n
2Dh1\n
0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C\n
0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C\n
0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C\n
0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C\n
.....
...
0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C0C\n
\n\n
讀取這些數據,此刻我使用readall ()。還嘗試了readlines()。在這兩種情況下,我都遇到了這個問題,必須等到超時後設置爲1. 這需要花費太多時間來處理實時應用程序,事實上這個傳感器可以每隔120ms測量一次。如果我將超時設置爲0,我經常會錯過一些數據,並且一切都崩潰了,因爲我需要整個數據集來進行計算。
我還讀到,有一個選項可以將readline的EOL設置爲readline(eof ='\ n \ n'),但是對於Python 3.x,這不起作用。
似乎有第二個選項,寫我自己的readline函數。
但我是一個絕對的Python初學者。所以我不知道我應該從哪裏開始。
顯然有一些額外的選擇。
最好的問候,A.
SHD很容易適應在http://stackoverflow.com/questions/16470903/pyserial-2-6-specify-end-of-line-in-readline的答案 - 那些正在尋找的'的EOL \ r',你正在尋找'\ n \ n',但是否則它看起來是同樣的問題。你需要更全面的闡述嗎? –
那會很酷,是的。 我已經閱讀了答案,但無法實現我自己的readline()函數; – AndyA