我正在尝试用Python编写一个程序,当从串行端口读取字符“1”时,该程序将循环检查串行端口(COM4)并打印出一条消息。我想通过一个Arduino小工具的串行端口发送“1”。
但是,当我试图创建串行对象的实例时,出现错误“[error 5]:访问被拒绝”。(从处理这个问题的PySerial包中的文件可以看到,它会在实例化时自动尝试打开,这就是错误所在。)
我的代码:
c = serial.Serial('COM4', 9600)
while True:
signal = c.read()
print signal
print "running"
time.sleep(2)
c.flushOutput()
但它永远不会超过“c=serial.serial('COM4',9600)”。这就是出现错误的地方。我该怎么解决?
对于
Python 2.6
使用基于零的COM端口索引。对于Python 2.7.x
,您可以使用全名“COM4”。根据我的经验,最好使用2.7版本。安装Python 2.7.x和Setup Tools (aka Easy Install)。完成后,通过键入easy_install -U pyserial
安装pyserial模块(请参见pyserial installation doc)。记住将python path添加到
PATH
环境变量。更新:这在PySerial 3.0中显然不再可能。
在Windows下,我总是成功地使用port=<;int>;方法。
即,将代码更改为:
对我来说,解决方案不起作用,但起作用的是关闭所有与给定com端口交互的应用程序。
相关问题 更多 >
编程相关推荐