[pyar] Pyserial: enviando datos hexadecimales de un byte
Santiago Paleka
santiagopaleka en gmail.com
Jue Dic 9 12:42:21 ART 2010
>
> write toma siempre un string, o en python3 un "bytes".
>
> Así que lo que tenés que hacer es:
>
> self.pseriel.write(chr(n))
>
No me funciona con chr, si por ejemplo n=0x11escribo el puerto con
self.pserial.write(chr(n)) no envía nada, en cambio para 0x10 si,
depende el valor que le ponga transmite o no, si podés probalo. te
paso un código de pruebas, cambiá lo que escribe de 0x11 a 0x10 y vas
a ver cuantos bytes escribe cada vez (con 0x11 no escribe, devuelve 0)
#############################################################################
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
import serial
import time
import os
import string
#puerto serie a usar
PUERTO = 1
#timeout para lecturas
PSTOUT = 5
class main():
def __init__(self):
self.pserie = serial.Serial(serial.device(PUERTO), 19200,
xonxoff=True,writeTimeout=5)
print self.pserie.portstr
def comienzo(self):
self.pserie.flushInput()
enviados = self.pserie.write(chr(0x11))
print enviados
time.sleep(1)
if __name__ == '__main__':
principal = main()
principal.comienzo()
###########################################################################
gracias.
More information about the pyar
mailing list