这是从z1节点读取的代码
while True:
if not ser.isOpen():
try:
ser = serial.Serial(z1port, z1baudrate,timeout=0, parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS)
except:
sys.exit("Error connecting device")
queue = ser.inWaiting()
if queue > 0:
data = ser.read(1000)
print data
time.sleep(0.2)
这是我用它编写的代码
# some event-driven code here so that whenever a message is received then do:
print(str(msg.payload))
ser = serial.Serial("/dev/ttyUSB1")
print ser.isOpen()
ser.write(msg.payload)
第二个代码的输出应为msg.payload =“ hello”:
hello
True
但是随后读取的代码停止从串行端口读取(代码将运行,但无输入)。我该如何解决这个问题?
我使用@mhopeng的想法编写了实现多线程编程的代码,其中一个功能处理读取,另一个功能处理写入。在调用它们之前,我将连接到串行端口并将其传递给两个线程。
我必须使用多线程,因为我需要随时从用户输入中编写单独的线程。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句