Event objects Threading on Serial Port on Win32
Gabriel
gbsuar at gmail.com
Tue Jun 27 15:57:33 EDT 2006
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
More information about the Python-list
mailing list