在python3 asyncio中使用串口 [英] using serial port in python3 asyncio

查看:122
本文介绍了在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.

干杯!

詹姆斯

推荐答案

pySerial is getting direct asyncio 支持.它现在处于实验状态,但对我来说按预期工作.

pySerial is getting direct asyncio support. It's in experimental state now but is working as expected for me.

从文档中获取的示例:

class Output(asyncio.Protocol):
    def connection_made(self, transport):
        self.transport = transport
        print('port opened', transport)
        transport.serial.rts = False
        transport.write(b'hello world\n')

    def data_received(self, data):
        print('data received', repr(data))
        self.transport.close()

    def connection_lost(self, exc):
        print('port closed')
        asyncio.get_event_loop().stop()

loop = asyncio.get_event_loop()
coro = serial.aio.create_serial_connection(loop, Output, '/dev/ttyUSB0', baudrate=115200)
loop.run_until_complete(coro)
loop.run_forever()
loop.close()

这篇关于在python3 asyncio中使用串口的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆