Grant Edwards wrote:
On 2009-02-14, John Nagle <na...@animats.com> wrote:

Can Python's serial port support be made to run at 45.45 baud,
the old "60 speed" Teletype machine speed?

If your hardware and OS supports it, Python can be made to
support it.

   OK, tried to open the port, using Python 2.6, latest PySerial
and PyWin32:

        ser = serial.Serial(port, baudrate=baud,
                        bytesize=serial.FIVEBITS,
                        parity=serial.PARITY_NONE,
                        stopbits=serial.STOPBITS_TWO)

Traceback (most recent call last):
  File "serialtest.py", line 27, in <module>
    main()
  File "serialtest.py", line 24, in main
    ser = openportbaudot(0,45.45)
  File "serialtest.py", line 17, in openportbaudot
    stopbits=serial.STOPBITS_TWO)
  File "D:\python26\lib\site-packages\serial\serialutil.py", line 171, in 
__init__
    self.open()
  File "D:\python26\lib\site-packages\serial\serialwin32.py", line 63, in open
    self._reconfigurePort()
File "D:\python26\lib\site-packages\serial\serialwin32.py", line 171, in _reconfigurePort raise ValueError("Cannot configure port, some setting was wrong. Original message: %s" % e) ValueError: Cannot configure port, some setting was wrong. Original message: (87, 'SetCommState', 'The parameter is incorrect.')

   Something doesn't like "serial.FIVEBITS".  That's a valid value, according
to "http://pyserial.wiki.sourceforge.net/pySerial";. If changed to "serial.EIGHTBITS", the code will execute, but of course does the wrong
thing.   That looks like a bug.

I tried various values for "baud". PySerial will accept "45", and even "45.45", although I doubt that it's really calculating the serial port divisor
values from a floating point value.   (Standard serial port hardware can do
45.45 baud, and most PCs with non-USB serial ports will do it quite well.)
For my application, 45 baud should work, with two stop bits; the
tolerances aren't that tight.

                                        John Nagle
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to