lcds y python

Alejandro Moreno López al3xmor3no en gmail.com
Vie Abr 22 14:23:19 CEST 2005


Hola,

este es el código:


---------
import serial
import curses.ascii

ser = serial.Serial('/dev/ttyUSB0', 19200, timeout=1)
print ser.write(curses.ascii.STX)
#ser.write(curses.ascii.unctrl(10))


ser.close()
---------

y este el error:

---------
howap:~/lcd/dev/src# python test.py 
Traceback (most recent call last):
  File "test.py", line 6, in ?
    print ser.write(curses.ascii.STX)
  File "/usr/lib/python2.3/site-packages/serial/serialposix.py", line
281, in write
    t = len(data)
TypeError: len() of unsized object
howap:~/lcd/dev/src# 
---------


el display que uso es el cw12232 (cwlinux.com). Seguramente tengas
razón, lo que pasa es que no hago más que dar palos de ciego, a ver si
logro algo.

un saludo.


On 4/22/05, Alberto Curro <acurro en wanadoo.es> wrote:
> Alejandro Moreno López wrote:
> 
> >Hola a todos,
> >
> >estoy intentando escribir en un display de varias lineas y lo único
> >que consigo es que me muestre los strings que le mando en una única
> >linea (la última). Si le mando exceso de strings vuelve al principio y
> >continua escribiendo en la misma linea. He probado a mandarle
> >caracteres de control con curses.ascii, pero esto es lo que obtengo:
> >
> >
> >
> 
>    No sé con el display que estás usando, pero hay algunas pantallas que
> debes enviarle secuencias numéricas (estilo el Char(10) para CR y
> Char(13) para LF del VB) en vez de caracteres de control. Mira la
> documentación... De todos modos, creo que te estás equivocando al usar
> curses aquí, porque si no me equivoco estás enviando datos a un display
> via serie o paralelo, de forma similar a una impresora de tickets, y no
> a una pantalla VGA/XGA, etc.,  que es para lo que curses está pensado.
> Un display de este tipo (quizás un display indicador de un TPV?) recibe
> un churro de texto que suele contener el texto y los modificadores
> (saltos de línea, etc.).
> 
>     Quizás me equivoque, tengo experiencia con ciertos displays en
> ingeniería, pero a lo mejor en tu caso estás hablando de una pantalla y
> no un display.
> 
>     Respecto al error, si pusieras las líneas en las que te falla,
> estaría bien. Por el error en sí, parece que está intentando averiguar
> la longitud de un dato que está vacío o que no puede convertir a string
> (quizás deberías usar sizeof(), creo que era ese metodo).
> 
>     Un saludo
> 
> 
> >>>>ser.write(curses.ascii.STX)
> >>>>
> >>>>
> >Traceback (most recent call last):
> >  File "<stdin>", line 1, in ?
> >  File "serial/serialposix.py", line 281, in write
> >    t = len(data)
> >TypeError: len() of unsized object
> >
> >la librería que uso para comunicarme con el lcd es pyserial
> >(pyserial.sf.net), por si sirve de algo. Quizá alguien pueda ayudarme
> >con este error...
> >
> >un saludo.
> >_______________________________________________
> >Python-es mailing list
> >Python-es en aditel.org
> >http://listas.aditel.org/listinfo/python-es
> >
> >
> >
> 
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>




Más información sobre la lista de distribución Python-es