En Thu, 02 Apr 2009 20:04:14 -0300, gert <gert.cuyk...@gmail.com> escribió:
On Apr 2, 8:53 pm, Kushal Kumaran <kushal.kuma...@gmail.com> wrote:
On Thu, 2 Apr 2009 10:01:02 -0700 (PDT)
gert <gert.cuyk...@gmail.com> wrote:

> from subprocess import *
> check_call(['mode', 'COM1:9600,N,8,1,P'],shell=True)
> while True:
>     with open('com1', 'r') as f:
>         for line in f:
>              print('line')

> This works very well except for one thing. After a reboot I have to
> launch 1 time any windows serial exe application no mater with one,
> that just opens an closes the com port, before i can launch this
> script. The script keeps on working even after closing and reopening
> it, until i reboot the pc. Then again I have to launch one time a
> serial.exe and close it again. The exe does not run anything in the
> background it just does something in windows python does not do when
> it reads from the com port after a fresh reboot.

> And i really appreciate it if somebody knew what it was.

I don't know why you're getting this behaviour, but have you tried using
a python library for accessing the serial port? Seehttp://pyserial.wiki.sourceforge.net/pySerial.

I am sorry but I don't think pyserial will work on python3.x and I
also like to know whats going on before I consider it.

A real Windows program accessing the serial port is likely to use SetupComm, SetCommState, and other functions in addition to CreateFile.
See http://msdn.microsoft.com/en-us/library/aa363196(VS.85).aspx

pySerial takes care of all those details, as suggested.

Maybe its a bug in open() on windows?

open() doesn't care about the file name; it's the OS that interprets "com1" as a serial port.

--
Gabriel Genellina

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

Reply via email to