如何通过Python中的USB转换器实现串行通信?

2024-06-02 04:45:08 发布

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

python程序需要每秒从串行端口接收一个字符串。我计划使用一个RS-232到USB转换器。该应用程序将在Ubuntu10.04下运行。在

我该怎么做?我使用pySerial还是{a2}?在

同时需要进行一些处理,所以同步通信是不可行的。我是使用某种中断还是需要打开单独的线程?或者我使用分块读取,认为1对于我的计算来说就足够了(这是足够的。。。现在)?在

我知道,RTFM,但从一开始就朝着正确的方向前进会节省我很多时间!谢谢你对我的款待。在


Tags: 端口字符串程序应用程序a2时间方向线程
1条回答
网友
1楼 · 发布于 2024-06-02 04:45:08

如果你的RS232-USB转换器在Ubuntu中有一个驱动程序,使它看起来像一个COM端口,那么你会希望使用pySerial(接口与任何其他COM端口相同)。如果您的设备没有驱动程序,那么您可能必须使用libusb并找到特定设备的协议。现在大多数主要的RS232-USB转换器都在Linux内核中提交并维护基于usbserial的驱动程序。只需向您的供应商咨询。在

有许多方法可以进行并行处理,但我通常用两种方式编写应用程序:

  • 有一个只读取并填充本地线程安全缓冲区的读线程,以便在需要时为其他线程准备好数据。

  • 有一个读取线程来读取数据,确定数据的去向,并通过消息传递/事件处理将数据传递给需要它的组件。

这里的决定将取决于你的目标是什么,以及阅读之外需要多少处理。在

相关问题 更多 >