I am using Python 2.5 on Windows XP. I have installed Pyserial and
win32all extensions.
When I try to run the example program scan.py (included below), or any
other program using pyserial, as soon as it hits the statement:
s = serial.Serial(i)
I get the error:
Traceback (most recent call last):
File "C:\Python25\Doc\PySerial Examples\scan.py", line 26, in <module>
for n,s in scan():
File "C:\Python25\Doc\PySerial Examples\scan.py", line 17, in scan
s = serial.Serial(i)
File "C:\Python25\Lib\site-packages\serial\serialutil.py", line 156,
in __init__
self.open()
File "C:\Python25\lib\site-packages\serial\serialwin32.py", line 57,
in open
win32file.SetupComm(self.hComPort, 4096, 4096)
error: (1, 'SetupComm', 'Incorrect function.')
What do I need to do to fix this? Thanks for the help!
-- Ron
The example program scan.py (from the pyserial examples folder):
-----------------------------------------------
#!/usr/bin/env python
"""Scan for serial ports.
Part of pySerial (http://pyserial.sf.net) (C)2002-2003 <cliechti at gmx.net>
The scan function of this module tries to open each port number
from 0 to 255 and it builds a list of those ports where this was
successful.
"""
import serial
def scan():
"""scan for available ports. return a list of tuples (num, name)"""
available = []
for i in range(256):
try:
s = serial.Serial(i)
available.append( (i, s.portstr))
s.close() #explicit close 'cause of delayed GC in java
except serial.SerialException:
pass
return available
if __name__=='__main__':
print "Found ports:"
for n,s in scan():
print "(%d) %s" % (n,s)