如何检查Pyserial发送的数据

时间:2012-12-29 20:41:00

标签: python windows-7 pyserial

我是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上没有任何错误。 我对此代码有一些疑问。

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

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

任何帮助都将受到高度赞赏。

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

要捕获发送到串行端口的数据,您需要一个窥探器。请参阅this question

答案 2 :(得分:0)

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

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

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

在使用python脚本之前,请使用免费软件终端应用程序进行健全性检查。 PuTTY,RealTerm和TeraTerm对此非常有用。

答案 3 :(得分:-2)

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