2011-09-12 27 views
1

需要使用PC的串行口從外部設備讀取的ASCII數據包括LF和CR並將其寫入使用Python文件。我如何從一個串口讀取ASCII數據到一個文件在Python

我剛開始學習Python的,但我能打開一個端口,但現在我有實際讀取的部分問題,因爲我不知道如何當數據被完成,因此文件可以寫入指定,有人可以幫助一些代碼示例嗎?

的端口設置爲:

Serial = 'COM3', baudrate=9600, bytesize=8, parity='N', stopbits=1 
+1

「我不知道如何指定數據完成時間」?這不是Python的事情。這是您必須詢問您的「外部設備」的問題。你怎麼知道設備完成?如果有人打印出字節流,你會如何知道它已正確結束或電線被抽出? –

+0

我同意S.Lott;你有一個規範,告訴你在數據中期望什麼?也許這裏有一些線索。 –

+0

您應該在此註冊您的帳戶;這將防止每次訪問併發布回覆時創建重複帳戶的問題。使用相同的帳戶也會使註釋正常工作。我合併了您的重複帳戶。 –

回答

0

頭部到了pyserial網站,並開始入侵!這裏有examples讓你去。

在問候你的問題,嘗試readline()方法。如果需要,您可以將CRLF添加到字符串的末尾。您可以在檢索每一行後寫入文件。

當設備完成,該文件需要被關閉將達到您的設備。請查閱其文檔。

+0

不幸的是,我被告知有一個設備發送ASCII數據,他們希望我從串口讀取它,避免這種情況的方法是在設備沒有多長時間發送數據時讓端口超時,我是使用com0com進行測試,因爲在這臺計算機上沒有串行端口,但即使將端口設置爲超時3秒鐘,它也不起作用,代碼將保留在那裏並永遠讀取端口,這就是我需要的部分幫忙,謝謝。 – Sam

相關問題