我是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(如代码中所述)查看发送的数据,而无需将任何硬件连接到串口。
任何帮助都将受到高度赞赏。
答案 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有关。