在 python3 asyncio 中使用串口
问题描述
我正在尝试,到目前为止,未能使用 python asyncio 访问串行端口.
i'm trying and, so far, failing to use python asyncio to access a serial port.
我非常感谢在简单 fd 上使用新的 python 异步框架的任何提示.
i'd really appreciate any tips on using the new python async framework on a simple fd.
干杯!
詹姆斯
解决方案
使用FD的另一种方式
import asyncio
import serial
s = serial.Serial('/dev/pts/13', 9600)
def test_serial():
'''
read a line and print.
'''
text = ""
msg = s.read().decode()
while (msg != '
'):
text += msg
msg = s.read().decode()
print(text)
loop.call_soon(s.write, "ok
".encode())
loop = asyncio.get_event_loop()
loop.add_reader(s, test_serial)
try:
loop.run_forever()
except KeyboardInterrupt:
pass
finally:
loop.close()
相关文章