0

我正在尝试与串行 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 是默认值,即使我尝试手动设置它们也会引发相同的异常。

任何人都可以提供建议吗?提前致谢。

4

3 回答 3

6

你不需要打电话open。构造函数已经这样做了,并且在 Windows 上,打开 COM 端口的任何人都可以独占访问它,直到他们关闭它。

至于第二个问题,请看如何解决“[错误6]句柄无效”。使用 PySerial

于 2011-05-17T14:51:34.273 回答
4

这是我要消除的方法Access Denied Error

  1. Ctrl+ Alt+Del

  2. 选择pythonw.exe并按下End Process

  3. 在 IDLE 中重新运行您的应用程序

它应该在没有任何访问被拒绝错误的情况下运行。

于 2012-08-24T21:03:13.377 回答
0

您需要python.exe在提升模式下运行。右键单击并单击Run as administrator

于 2011-05-17T14:51:57.517 回答