Pyserial - send and receive characters through linux serial port
terry
itskrithika at gmail.com
Fri May 2 13:26:08 EDT 2008
On Apr 26, 8:21 am, Grant Edwards <gra... at visi.com> wrote:
> On 2008-04-25, terry <itskrith... at gmail.com> wrote:
>
> > I am trying to send a character to '/dev/ttyS0' and expect the
> > same character and upon receipt I want to send another
> > character. I tired withPyserialbut in vain.
>
> Pyserialworks. I've been using it almost daily for many
> years. Either your program is broken, your serial port is
> broken, or the device connected to the serial port is broken.
>
> > Test Set up:
>
> > 1. Send '%' to serial port and make sure it reached the serial port.
> > 2. Once confirmed, send another character.
>
> > I tried with write and read methods inPyserialbut no luck.
>
> > Can you help?
>
> Ah yes, the problem is in line 89 of your program.
>
> We've no way to help if you don't provide details. If you
> really want help, write as small a program as possible that
> exhibits the problem. I'd like to emphasize _small_. The
> larger the program the less likely people are to look at it,
> and the less likely they are to find the problem if they do
> look at it.
>
> Much of the time the exercise of writing a small demo program
> will lead you to the answer. If not, then post it, along with
> the output from the program that shows the problem.
>
> Then we can tell you what you did wrong.
>
> --
> Grant Edwards grante Yow! I'm also against
> at BODY-SURFING!!
> visi.com
Here is the code.
"""Open serial connection"""
def openSerialConnection(self,serpt):
try:
s1 = serial.Serial(serpt,timeout=10)
except:
self.print_u("Failed to open serial port %s. " %serpt)
def enterThroughSerialPort(self,serpt):
s1 = serial.Serial(serpt,timeout=10)
self.print_u('Sending !!!!..')
while True:
s1.write('*')
c = s1.read(1)
if c:
self.print_u('Found "*" ')
break
print c
s1.write('enter\r')
s1.read('login')
if __name__ == '__main__':
serpt = '/dev/ttyS0'
x.openSerialConnection(serpt)
# funtion to reboot the device goes here ---#
x.enterThroughSerialPort(serpt)
After opening the serial connection, the device is rebooted followed
by sending '*' to serial port and reading back the same. I seem to
have problem while trying to read '*' back from serial port. First of
all I am not sure if serial port received the '*'.
Thanks!
More information about the Python-list
mailing list