[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Python-es] Escuchando el puerto serial



Hola:

El 'loop' al que te refieres es una implementación del patrón
"reactor"[1]. Lo utilizan todos los toolkits de ventanas (al menos los
que yo conozco), es típico en la programación dirigida por eventos y es
una forma de conseguir entrada/salida asíncrona.

Para este tipo de cosas, glib utiliza g_io_channels. No sé si GTK los
tiene, pero en python puedes utilizar o bien "select" o bien un hilo
específico haciendo una lectura bloqueante al puerto serie. Cualquiera
de esas dos cosas es mucho mejor que hacer un polling al puerto.

Saludos


[1] http://trevinca.ei.uvigo.es/~formella/doc/cd03/node94.html


El dom, 23-05-2004 a las 20:21, Hector Miuler Malpica Gallegos escribió:
> --=-9Axk3AXTAytC80qov7Xd
> Content-Type: text/plain; charset=iso-8859-1
> Content-Transfer-Encoding: quoted-printable
> 
> Amigos, quisiera saber cual es la mejor forma de hacer un programa tipo
> servidor el cual este muy atento a la entrada del puerto serial, por lo
> que e visto siempre es preferible dejar el trabajo pesado al kernel
> (loop), ya que el es el que controla toda la pc y sabe cuando pasa algo.
> Encontr=E9 algo con glib, ya que el tiene un mega loop (bueno eso me dio a
> enterder) gmainloop, segun se este puede saber de cualquier evente que
> ocurra y se lo puede pasar al programa, esto es lo que hace gnome.
> Quisiera saber sus opiniones/comentarios/etc sobre esto, o derrepente ir
> mas profundo y ver como glib implementa este gmainloop.
> 
> (el programa que que manejara los datos recibidos por el puerto serial
> estara echo en python)
> 
> Gracias.
> 
>      _\|/_
>      (O-O)
> --oOO-(_)-OOo----------------------------------------
>                                               .--.
> Hector Miuler Malpica G.                     |o_o |
> Universidad Nacional del Callao - Peru       |=A1_/ |
> Escuela de Ingenieria Electronica           //   \ \
>                                            (|     | )
>                                            /'\_  _/`\
>                                            \__)=3D(___/
> 
> .''`. Powered by:                         ,__,
> : :' : Debian GNU/Linux(SID) (2.4.21,Ext3) (oo)____
> `. `'  usuario registrado #308608          (__) mu )\
>   `-                                          ||--|| *
>    =20
> 
>   Jabber miuler@jabber.org
>   ICQ 179326439
>   MSN miuler13@iespana.es
> Yahoo miuler13@yahoo.es
> IRC irc.freenode.net  #apesol
> -----------------------------------------------------
> 
> 
> --=-9Axk3AXTAytC80qov7Xd--
> 
> 
> ---Publicidad--------------------------------------------------------
> Juega con Ventura24.es, lotería inteligente y multiplica tus
> posibilidades!! http://www.iespana.es/_reloc/email.ventura
> 
> 
> 
> ______________________________________________________________________
> _______________________________________________
> Python-es mailing list
> Python-es@aditel.org
> http://listas.aditel.org/listinfo/python-es



Reply to: