串行端口读写代码之间的连接冲突

艾哈迈德·哈达德(Ahmed Al-haddad)

这是从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 

但是随后读取的代码停止从串行端口读取(代码将运行,但无输入)。我该如何解决这个问题?

艾哈迈德·哈达德(Ahmed Al-haddad)

我使用@mhopeng的想法编写了实现多线程编程的代码,其中一个功能处理读取,另一个功能处理写入。在调用它们之前,我将连接到串行端口并将其传递给两个线程。

我必须使用多线程,因为我需要随时从用户输入中编写单独的线程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章