[pyar] Pyserial: enviando datos hexadecimales de un byte
Ramiro Morales
cramm0 en gmail.com
Jue Dic 9 12:02:20 ART 2010
2010/12/9 Santiago Paleka <santiagopaleka en gmail.com>:
> Hola lista, tengo el siguiente inconveniente:
>
> Quiero enviar a través del puerto serie un dato de un byte hexadecimal
> (por ejemplo 0x10 0x11 0xf3 lo que sea)
> si hago n = 0x11
> y después envío por el puerto serie así:
> self.pserie.write(n)
>
> en el receptor me llegan dos caracteres en dos bytes separados, en el
> ejemplo dado recibo 1 1.
> Como puedo hacer para enviar un dato de un byte y recibirlo exactamente igual.
> Los datos que tengo que enviar los tengo en una tupla =
> (0x10,0x11,0x45,0xf4) etc.
>
> Estoy usando pyserial2.5, python2.6.6 en windows xp sp2.
Usa chr():
>>> c = chr(0x11)
>>> pserie.write(c)
O mejor aun, struct:
>>> import struct
>>> tupla = (0x10, 0x11, 0x45, 0xf4)
>>> s = struct.pack(4 * 'B', *tupla)
>>> s
'\x10\x11\x45\xf4'
>>> pserie.write(s)
--
Ramiro Morales
More information about the pyar
mailing list