By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
459,905 Members | 1,616 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 459,905 IT Pros & Developers. It's quick & easy.

Event objects Threading on Serial Port on Win32

P: n/a
David:
Tube el mismo problema que vos con el hilo del ejemplo de pyserial. Me
paso que en Linux andaba bien, obvio, pero tenia un pequeño
problemilla en Windows, también obvio.

Lo solucione de la siguiente manera:
Asi es el codigo original de la función ComPortThread

def ComPortThread(self):
"""Thread that handles the incomming traffic. Does the basic input
transformation (newlines) and generates an SerialRxEvent"""

while self.alive.isSet(): #loop while alive event is true
if self.ser.inWaiting() != 0:
text = self.ser.read()
event = SerialRxEvent(self.GetId(), text)
self.GetEventHandler().AddPendingEvent(event)
solo tiene que agregarle el siguiente bucle antes que nada:
while not self.alive.isSet():
pass

quedándote así dicha función...

def ComPortThread(self):
"""Thread that handles the incomming traffic. Does the basic input
transformation (newlines) and generates an SerialRxEvent"""
while not self.alive.isSet():
pass

while self.alive.isSet(): #loop while alive event is true
if self.ser.inWaiting() != 0:
text = self.ser.read()
event = SerialRxEvent(self.GetId(), text)
self.GetEventHandler().AddPendingEvent(event)

y listo... Con eso debería andar
Espero haber sido útil

--
Gabriel
Jun 27 '06 #1
Share this question for a faster answer!
Share on Google+

This discussion thread is closed

Replies have been disabled for this discussion.