问题标签 [pyserial]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1531 浏览

python - 使用 pySerial 连接到非 COM 端口

在超级终端中,我可以连接到一个名为“X64-CL_iPro_1_Serial_0”的串行端口,在那里我可以向相机发送/接收 ASCII 文本。但是,当我尝试使用 pySerial 连接到同一个端口时,它会引发异常:

SerialException: could not open port X64-CL_iPro_1_Serial_0: [Error 2] The system cannot find the file specified.

我不明白为什么超级终端可以检测到端口并与之通信,但 Python 不能。我从显示串行端口列表的 pySerial 网站下载了这个脚本,它提供的唯一端口是 COM1 和 COM2,这两个端口我都无法连接。

我的代码很简单,看起来像这样:

我做错什么了吗?有没有办法解决这个问题?提前谢谢。

编辑:还应注意,此端口不会显示在设备管理器中,COM1 或 COM2 也不会显示。

0 投票
2 回答
529 浏览

python - 如何在 Python 中将 Integer 转换为 Signed Word(用于 PySerial)?

我在使用 pyserial 使 Python 与硬件显示器对话时遇到了一些问题。某些显示器功能需要在命令后发送一个带符号的字作为参数(即显示屏幕上的 X 或 Y)。

我以前一直使用 chr() ,但这仅适用于 < 255 的数字。

我已经尝试了以下转换,但它给出了一些奇怪的结果,使事情远离设定位置:

我可能在这里离自己很远:)

我将如何使用它的示例:

问题是,当我这样做时,这些东西没有放在 x100,y350,大多数时候显示器会崩溃:(

有关如何正确完成此操作的任何提示?

0 投票
1 回答
29837 浏览

python - Python PySerial 读取行超时

我正在使用 pyserial 与嵌入式设备进行通信。

所以我们将 CMD 发送到设备,它会回复一个以 a 结尾的可变长度字符串'\n'

如果设备无法重播,则readline()超时并且z=''

如果设备被中断或崩溃,它将发送数据然后readline()超时并且 z 将是一个结尾没有 a 的字符串'\n'

除了检查 z 的状态之外,有没有一种很好的方法来检查是否readline()超时。

0 投票
1 回答
1603 浏览

python - 串口:必须发送\n

[编辑] 最初我认为这是一个 pyserial 问题,但事实并非如此。基本上这是一个系统问题:通过串行端口(/dev/ttyS0)发送任何东西都需要一个“\n”或“\r”,否则它只会被缓冲。以下是原始问题。这是Linux驱动程序的限制还是我可以更改一些设置?

你好呀,

我正在尝试使用 pyserial 编写一些测试代码。实际上,我将传输二进制数据,但这不是我的问题。我的问题是:看起来 pyserial write() 命令只有在看到“\n”时才会真正发送数据。

使用以下代码发送纯文本文件。

除非我在 s.write("\n") 之后插入 s.write(l),否则在另一边什么也看不到。有没有一种方法可以让 pyserial 随时随地发送我想要的任何东西?

谢谢,

0 投票
3 回答
2881 浏览

c# - 在 C# 或 python 上写入 COM 端口

我正在尝试使用 Visual Studio C# 将字符串写入作为 USB 串行适配器的 COM4 并收到以下错误:

拒绝访问端口“COM4”。

我的程序非常简单:

我还尝试将 pyserial 与 python 一起使用并得到:

我知道这个问题与编程无关,可能是 Windows 7 的问题,但我希望有人已经遇到过类似的问题。

0 投票
2 回答
2359 浏览

python - Twisted 的 Serialport 和消失的串口设备

我正在使用 twisted.internet.serialport 让我的程序持续连接到串行端口上的设备。

不幸的是,我的串口只是一个 USB 设备,这意味着它可以随时被操作系统断开或重置(端口 2 被集线器禁用(EMI?),重新启用......)。我看到 pyserial 对此有几周的支持并引发了 SerialException。

我想做的是尝试重新连接到每隔几秒钟就消失的串行端口。

那么,有什么方法可以告诉twisted 通知我断开连接?还是我应该继续为 pyserial 编写一个线程包装器?

谢谢

0 投票
2 回答
724 浏览

python - signal.alarm() 处理程序导致 pyserial 出现问题

所以我有一个运动传感器连接到一个通过usb与我的python应用程序通信的avr micro。我使用 pyserial 进行通信。在我的脚本中,我有一个无限循环检查来自 avr micro 的数据。在这个循环之前,我用 signal.alarm() 启动一个计时器,它将调用一个函数来结束一个子进程。当此警报响起时,它会中断 pyserial 通信并且程序完全退出。我得到 pyserial read() 被中断的错误。有什么办法可以解决这个问题。任何帮助都是极好的

0 投票
1 回答
14610 浏览

python - 蟒蛇串口

我想在 python 中与我的串口通信。我为 linux 安装了 pyserial 和 uspp:

它给出了以下错误:

0 投票
2 回答
412 浏览

python - 在跨平台python中查找usb gps

我正在开发一个从 gps usb 加密狗读取的 python 应用程序。到目前为止,一切都在基于 ubuntu/debian 的系统中运行,在该系统中,我以一种相当直率的方式与 gps 通信,使用 pySerial 扫描所有 /dev/ttyUSB0-9 以查找以 38400 波特率说出 NMEA 语句的内容。现在我被要求让这个应用程序跨平台工作,我有点困惑,哪个是找到 gps 加密狗的最佳方式。

我已经考虑了以下内容:

但我宁愿有一个跨平台工作的单一解决方案。有谁知道这样的解决方案?

0 投票
2 回答
2385 浏览

python - py连续读取3次后冻结

我们正在对图片进行编程,并且我们已经诊断出,如果我们在尝试向我们发送数据时将数据发送到串行端口,则程序将锁定(我们的 python 代码和超级终端在测试时都会崩溃)。它在超级终端中工作并缓慢输入(笔画之间>.5 秒),并且在敲击键盘时会崩溃。所以我们所做的是引入一个超过 0.5 秒的 time.sleep,但它仍然无法正常工作。

这是我们的测试代码。

我们的接收数据功能。我们过去每次收到一个字符时都会发送“ok”(这就是我们知道它在 3 次迭代后冻结的方式)。我们把它带到了循环之外,看看这是否导致了问题,但事实并非如此。它根本没有用这个代码发送“ok”。