[Tutor] question about serial coms
nephish
nephish at xit.net
Tue Nov 15 02:09:32 CET 2005
oh yeah, i will need this too!
sk
On Mon, 2005-11-14 at 17:04 -0800, Bennett, Joe wrote:
> I have been working with pyserial. One question I have
> is this. I have a loop that writes to the serial port
> and then waits about 500ms and then reads from the
> serial port. The first thing read from the serial port
> is ALWAYS the data written to the serial port... I
> must be missing something obvious, but I thuoght the
> two buffers were separate...
>
> Here is the code I'm using if that helps:
>
> while i == 0:
> line = parmfile.readline()
> line = string.rstrip(line)
> #print line
> if line == "":
> i = 1
> break
>
> else:
>
> ser.write(line + "\r")
> #ser.write("\r\n")
> print "Sending: " + line
>
>
>
> time.sleep(1)
> data_in = ser.read(100)
> print "Response: " + data_in
> time.sleep(.2)
>
>
> print "Closing Serial Port\n"
> ser.close()
>
>
>
> -Joe
>
>
> --- nephish <nephish at xit.net> wrote:
>
> > ok, i think i got it. Thanks so much.
> > let you know how it turns out.
> > shawn
> >
> >
> > On Tue, 2005-11-15 at 11:27 +1300, Hans
> > Dushanthakumar wrote:
> > > Lock() is provided by the threading module.
> > > see
> > > http://docs.python.org/lib/module-threading.html
> > > &
> > > http://docs.python.org/lib/lock-objects.html
> > >
> > > Cheers
> > > Hans
> > >
> > >
> > > -----Original Message-----
> > > From: nephish [mailto:nephish at xit.net]
> > > Sent: Tuesday, 15 November 2005 11:23 a.m.
> > > To: Hans Dushanthakumar
> > > Cc: Hugo González Monteverde; tutor
> > > Subject: RE: [Tutor] question about serial coms
> > >
> > > ok, lock is something you wrote yourself ?
> > > i can't find it in the docs. However, i think i
> > can essentially build the same thing.
> > > the serial module i use is pyserial.
> > pyserial.sourceforge.net.
> > > the docs are a wee bit on the sparce side. But i
> > think i can pull it off. Thanks for your help.
> > >
> > > shawn
> > >
> > >
> > > On Tue, 2005-11-15 at 10:58 +1300, Hans
> > Dushanthakumar wrote:
> > > > I believe that the drivers take care of that,
> > however, I did use locks to make sure that there
> > were no conflicts.
> > > >
> > > > In the listener thread I had something along the
> > lines of:
> > > >
> > > > Acquire lock
> > > > readline() from the ser port
> > > > Release lock
> > > >
> > > > And in the sender thread,
> > > >
> > > > Acquire lock
> > > > send msg over ser port
> > > > Release lock
> > > >
> > > > Cheers
> > > > Hans
> > > >
> > > > -----Original Message-----
> > > > From: nephish [mailto:nephish at xit.net]
> > > > Sent: Tuesday, 15 November 2005 10:47 a.m.
> > > > To: Hans Dushanthakumar
> > > > Cc: Hugo González Monteverde; tutor
> > > > Subject: RE: [Tutor] question about serial coms
> > > >
> > > > well thats encouraging, did you have to do
> > anything special to prevent an error when trying to
> > read or write at the same time ?
> > > >
> > > > thanks
> > > > sk
> > > >
> > > >
> > > > On Tue, 2005-11-15 at 09:29 +1300, Hans
> > Dushanthakumar wrote:
> > > > > Ive worked on a similar application. I used
> > one thread to read from the serial port and another
> > one to handle the writes.
> > > > >
> > > > > -----Original Message-----
> > > > > From: tutor-bounces at python.org
> > [mailto:tutor-bounces at python.org] On
> > > > > Behalf Of Hugo González Monteverde
> > > > > Sent: Tuesday, 15 November 2005 7:36 a.m.
> > > > > To: nephish
> > > > > Cc: tutor
> > > > > Subject: Re: [Tutor] question about serial
> > coms
> > > > >
> > > > > Hi Nephish,
> > > > >
> > > > > Are you using pyserial or rolling your own?
> > Normally you can write and read to the /dev/ttySXX
> > file at the same time; since they're special files,
> > not ordinary files, the driver handles that.
> > > > >
> > > > > Handling both writing and reading in your
> > program's flow control is a wholly different matter,
> > though. You might need to use select() to avoid
> > blocking.
> > > > >
> > > > > Are you using two completely different scripts
> > for reding and writing?
> > > > >
> > > > > There is some valuable info, if not about
> > python, in the Serial Programming howto, at:
> > > > >
> > > > >
> > http://www.tldp.org/HOWTO/Serial-Programming-HOWTO/
> > > > >
> > > > >
> > > > > Hugo
> > > > >
> > > > > nephish wrote:
> > > > > > Hey there,
> > > > > > i am developing on a linux computer with
> > the serial module. Now,
> > > > > > i already am able to recieve info from a
> > serial RS232 device and
> > > > > > process everything ok. What i need to do now
> > is write to the
> > > > > > serial device, but i also need to be able to
> > not interrupt the
> > > > > > script that is reading from it.
> > > > > > I guess my question is, do i have to
> > interrupt the reading script
> > > > > > to write to the same RS232 device ?
> > > > > > and if so, how do i do that?
> > > > > >
> > > > > > thanks,
> > > > > > shawn
> > > > > >
> > > > > >
> > _______________________________________________
> > > > > > Tutor maillist - Tutor at python.org
> > > > > >
> > http://mail.python.org/mailman/listinfo/tutor
> > > > > >
> > > > >
> > _______________________________________________
> > > > > Tutor maillist - Tutor at python.org
> > > > > http://mail.python.org/mailman/listinfo/tutor
> > > >
> > >
> >
> > _______________________________________________
> > Tutor maillist - Tutor at python.org
> > http://mail.python.org/mailman/listinfo/tutor
> >
>
More information about the Tutor
mailing list