在开发其他类时保持PySerial端口打开

2024-06-17 09:17:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我通过蓝牙通过串行连接读取IMU的结果。我已经写完了一些建立基本连接的低级方法。但在编写其他类(例如visualize或calculate)时,我不断地关闭并重新打开串行连接和蓝牙端口。这会给蓝牙驱动程序带来压力,并且端口在使用一定量后不会打开。在

我在一台带有集成蓝牙设备的Windows7 64位笔记本电脑上使用Spyder和Python3.4。我不能改变操作系统,但我可以安装软件。在

有没有一种方法可以让串行连接类在编程其他使用串行连接类的类时运行?在


Tags: 方法端口软件编程驱动程序笔记本电脑calculateimu
1条回答
网友
1楼 · 发布于 2024-06-17 09:17:15

好吧,您可以通过使用^{} module来提供使用某些触发器热重新加载组件的策略:

from importlib import reload
import module_with_your_code

def refresh(self):
    # make your context in a clean slate before reloading
    reload(module_with_your_code)
    # init your context

可以通过各种事件触发(如USR1:

^{pr2}$

或者使用sys.stdin事件…一切由您决定)。在

但是,我给你的最好的建议是把你的代码分成不同的进程,而不是搞乱你的python解释器。让一个进程与蓝牙通信并通过一些RPC接受数据(无论是原始TCP套接字、文件管道、httprestapi或pubsub消息代理,一切都由您决定!)。在

然后实现第二个模块,该模块为该RPC生成一个客户机,并进行真正的处理。在

最后,如果您必须让这两个代码交互而不进行远程调用,那么您可以轻松地将这两个进程和远程调用替换为Queueasyncio。在

相关问题 更多 >