Just to make sure that I understood it right, Does this snippet mimic the problem that you have? Ive hardcoded "line".
========x================= import serial import time ser=serial.Serial(0,57600,timeout=0.1) i=0 line = ["Hi","There","Hans"] while i <= (len(line)-1): ser.write(line[i] + "\r") print "Sending: " + line[i] time.sleep(1) data_in = ser.read(100) print "Response: " + data_in time.sleep(.2) i = i + 1 print "Closing Serial Port\n" ser.close() =========x============================= Cheers Hans -----Original Message----- From: nephish [mailto:[EMAIL PROTECTED] Sent: Tuesday, 15 November 2005 2:10 p.m. To: [EMAIL PROTECTED] Cc: Hans Dushanthakumar; tutor Subject: Re: [Tutor] question about serial coms 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 <[EMAIL PROTECTED]> 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:[EMAIL PROTECTED] > > > 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:[EMAIL PROTECTED] > > > > 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: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] 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@python.org > > > > > > > > http://mail.python.org/mailman/listinfo/tutor > > > > > > > > > > > > > _______________________________________________ > > > > > Tutor maillist - Tutor@python.org > > > > > http://mail.python.org/mailman/listinfo/tutor > > > > > > > > > > > _______________________________________________ > > Tutor maillist - Tutor@python.org > > http://mail.python.org/mailman/listinfo/tutor > > > _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor