nicegui的pyserial示例

参考github上nicegui的example里面的pyserial示例
发现有时候报端口不可用,好像是会执行前面的打开串口很多次,然后在主线程关掉串口,读的线程里又没有打开。所以做了一点点修改,可以跑通


import serial
from nicegui import app, run, ui

port = serial.Serial('COM70', baudrate=115200, timeout=0.1)
port.close()

ui.input('Send command').on('keydown.enter', lambda e: (
    port.write(f'{e.sender.value}\n'.encode()),        
    e.sender.set_value(''),
))
log = ui.log()

async def read_loop() -> None:
    try:
        port.open()
    except serial.SerialException as e:
        ui.notify(e, type='negative', close_button= True)
    while not app.is_stopped:
        line = await run.io_bound(port.readline)
        if line:
            log.push(line.decode())

app.on_startup(read_loop)
ui.run(on_air = True, native=True)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值