2017-09-05 33 views
1

方案從串行端口 - 接收數據如何通過PY串口讀取每秒100個或多個字符串

import serial 
import time 

ser = serial.Serial(
    port='/dev/ttyAM0', 
    baudrate=57600, 
    parity=serial.PARITY_NONE, 
    stopbits=serial.STOPBITS_ONE, 
    bytesize=serial.EIGHTBITS, 
    timeout=1) 

while 1: 
    BytesToRead = ser.inWaiting() 
    x = ser.read(BytesToRead) 
    print x 

輸入 - @ 1,12,5,0:0:1#這些類型的每秒 輸出 100串 - 混合數據與一些數據丟失和冗雜

- 中的字符串從阿爾杜伊諾經由ZigBee的接收。我究竟做錯了什麼?是否有任何延遲問題或者我通過串口錯誤地讀取串?

+0

對於初學者,你是否確定串口設置與你正在接收的串口設置相匹配(在你的情況下,Arduino,如果我理解你的話)? –

+0

是的,我已經檢查過它們 – Poojan

+0

所以,你試圖從Arduino讀取數據?你可以發佈Arduino的代碼嗎? –

回答

0

如果沒有任何字節要讀取,那麼您不應該嘗試讀取或打印它們。

while 1: 
    BytesToRead = ser.inWaiting() 
    if BytesToRead > 0: 
     x = ser.read(BytesToRead) 
     print x