0

我是 Python pyserial 的初学者。我正在使用基本的 pyserial 代码打开一个串行端口并将数据写入其中。

import serial

ser = serial.Serial(0)  # open first serial port
print ser.portstr       # check which port was really used
ser.write("hello")      # write a string
ser.close() 

该代码在 Win 7 上的 Python 2.7 上运行良好,没有任何错误。我对此代码有一些疑问。

1)我的笔记本电脑没有任何“可视”串行端口。它有 3 个 USB 端口。那么我怎样才能让 pyserial 与设备进行串行通信。换句话说,我应该在哪里以及如何连接我的微控制器以串行发送和接收数据。

2)如何在系统上虚拟地通过pyserial(如代码中提到的)查看发送的数据,而无需将任何硬件连接到串口。

任何帮助将不胜感激。

4

4 回答 4

1

1) 你需要一个 USB->RS232 适配器。有数百种设备,主要基于几个芯片组。易趣是你的朋友。搜索“USB RS232”

2) 尝试http://com0com.sourceforge.net/。它允许您创建一个虚拟环回,以便您可以在一端连接 Python 应用程序,在另一端连接 Putty。

于 2012-12-29T20:50:05.420 回答
0

您可以使用serial.tools.list_ports.comports()来获取所有现有端口的列表。由于 USB 端口可以有 RS232 转换器,因此 pyserial 默认使用它们。

要捕获发送到串行端口的数据,您需要一个窥探器。看到这个问题

于 2012-12-29T20:55:35.903 回答
0

为了通过 USB 使用串行端口通信,您的微控制器 USB 设备必须在设备列表中显示为 VCP(虚拟 Com 端口)。如果是这样,则可以从该设备的设备管理器属性中获取“COM”名称,然后在 python 脚本中使用该名称(例如“COM23”)。

大多数人都很懒惰,因为他们只是在他们的微控制器上使用 FTDI 芯片组。如果是这样,您可以从 FTDI 网站下载 FTDI VCP 驱动程序。

FTDI 还支持不同的 USB 设备(相同的物理设备,但不同的驱动程序),需要您使用自定义代码和 DLL,但速度更快。VCP 速度较慢,但​​更易于使用。他们有两者的驱动程序。

在使用 Python 脚本之前,请使用免费软件终端应用程序进行完整性检查。PuTTY、RealTerm 和 TeraTerm 对此很有用。

于 2014-01-16T23:29:01.087 回答
-2

我猜您的问题与Python Test Scripts有关。

于 2012-12-30T13:17:16.217 回答