我使用pyserial寫和經由UARTpySerial:無法讀取數據超過8個字符
樹莓PI 1兩個覆盆子PI(S)之間讀取:將數據發送到樹莓PI 2
while 1:
ser=serial.Serial('/dev/ttyAMA0')
if not ser.isOpen():
ser.open()
msg=raw_input('RPi 1 send:')
ser.write(msg)
ser.close()
樹莓PI 2:從樹莓PI 1
while 1:
ser=serial.Serial('/dev/ttyAMA0' ,timeout=0)
if not ser.isOpen():
ser.open()
data=ser.read(1024)
if data.__len__()>0:
print 'RPi 2 receive:',data
ser.close()
我運行兩個代碼接收數據。
和發送數據
RPi 1 send : Hello
和接收數據
RPi 2 receive : Hello
但如果RPI 1發送數據超過8個字符
例如
RPi 1 send : Hello Raspberry pi NO.2
結果是
RPi 2 receive: Hello Ra
RPi 2 receive: spberry
RPi 2 receive: pi NO.2
這是我的問題。因爲我希望它能像這樣收到
(RPi 2收到:Hello Raspberry pi NO.2)#只顯示一行。
如果再次發送(更多8個字符),它將顯示一個新行。
什麼代碼加入一行?或其他方式來做到這一點? :)
read()只讀取當時準備好的數據。 – cmd