PySerial could not open port COM4: [Error 5] Access is denied - please help
Grant Edwards
invalid at invalid.invalid
Thu Jun 28 10:15:15 EDT 2012
On 2012-06-28, Adam <adam at no_thanks.com> wrote:
> Obviously pySerial considers the serial port open
Because it's already been opened by the Python program.
> and will not open an already open serial port.
Pyserial will happily try if you call the open() of a port that's
already open, but Windows will return an error.
> However, why is it that TeraTerm can open the serial port?
Because TeraTerm only opens it once.
> Here's the link where I read about calling ser.close() before
> ser.open() ...
>
> Trying to open a serial port with pyserial on WinXP -> "Access denied"
>
> http://stackoverflow.com/questions/2063257/trying-to-open-a-serial-port-with-pyserial-on-winxp-access-denied
That code is broken.
The port is opened by this line:
self.ser=serial.Serial(port='\\.\COM1', baudrate=9600, bytesize=serial.EIGHTBITS, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, timeout=1)
And then the author tries to _open_it_a_second_time_ here:
self.ser.open()
> Here's the Python scripts ...
> https://github.com/adafruit/Tweet-a-Watt/downloads
> Click on the "Download as ..." button for the Python scripts
Like I kept telling you, those programs are trying to re-open a port
that they've already open. Here's the erroneous code:
wattcher.py:
53
54 # open up the FTDI serial port to get data transmitted to xbee
55 ser = serial.Serial(SERIALPORT, BAUDRATE)
56 ser.open()
57
Line 55 opens the serial port.
Line 56 tries to _open_it_again_. _The_port_is_already_open_.
Windows doesn't allow a serial port to be opened twice, therefore the
ser.open() call raises an exception.
Just delete line 56.
The same thing happens here:
gmeter-wattcher.py
83
84 # open up the FTDI serial port to get data transmitted to xbee
85 ser = serial.Serial(SERIALPORT, BAUDRATE)
86 ser.open()
87
Just delete line 86.
See how simple it was to get the problem solved once you posted the
actual code?
--
Grant Edwards grant.b.edwards Yow! HUMAN REPLICAS are
at inserted into VATS of
gmail.com NUTRITIONAL YEAST ...
More information about the Python-list
mailing list