2013-12-17 76 views
2

我想使用pyserial讀取一些數據,然後使用子進程將輸出發送到C程序。Pyserial從串口讀取並寫入C程序

這裏是我的代碼(在建):

from serial import Serial 
import subprocess 
process = subprocess.Popen("./print",stdin=subprocess.PIPE) 
ser = Serial("/dev/ttyAMA0",9600,timeout=2) 
while True: 
    if ser.inWaiting!=0: 
     ser.read() 

其中print是簡單地打印輸出(一個踏腳石什麼其實我是想這樣做)的C程序。

如何獲取它,以便我可以將ser.read()的結果寫入C程序?

如何解釋或使用該輸入?

回答

3

寫入stdin of Popen。這是一個文件對象。

process.stdin.write(ser.read()) 
+0

我該如何使用c程序中的那個呢? – theoB610

+1

@theoB610,使用'gets'('fgets'),'scanfs',...讀取stdin – falsetru