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