在Python/Wins7中使用串口
我正在尝试与一个串行的WWAN调制解调器进行连接,目的是为了进行诊断和信号强度测量。这个连接是通过我桌面上的COM1端口(115200-8-n-1)来实现的,使用PuTTY可以正常工作。我可以用Python编写AT命令的脚本,但在打开串口时遇到了麻烦。
我已经按照说明安装了Python 2.7.1和PySerial。我是我电脑的本地管理员,尝试过以管理员权限和非管理员权限运行Python,但每次尝试打开端口时都会出现以下错误:
Python 2.7.1 (r271:86832, Nov 27 2010, 17:19:03) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import serial
>>> s = serial.Serial(
... port='COM1',
... baudrate=115200
... )
>>> s.open()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Python27\lib\site-packages\serial\serialwin32.py", line 56, in open
raise SerialException("could not open port %s: %s" % (self.portstr, ctypes.W
inError()))
serial.serialutil.SerialException: could not open port COM1: [Error 5] Access is
denied.
我了解到8-N-1是默认设置,即使我尝试手动设置,也会抛出相同的异常。
有没有人能给点建议?谢谢大家。
3 个回答
0
你需要以管理员身份运行 python.exe
。右键点击它,然后选择 以管理员身份运行
。
4
这是我用来解决访问被拒绝错误
的方法:
按下 Ctrl + Alt + Del 键
找到
pythonw.exe
,然后点击 结束进程在 IDLE 中重新运行你的应用程序
这样应该就不会再出现访问被拒绝的错误了。
6
你不需要自己去调用 open
。因为在创建对象的时候,构造函数已经帮你打开了。而在Windows系统上,谁打开了一个COM端口,谁就独占这个端口,直到他们关闭它。
至于第二个问题,可以看看这个链接:如何解决“[错误 6] 句柄无效。”的问题,使用PySerial