2017-07-31 2 views
0

Je dois écrire 06 comme/x06 au port série pour donner un acknowledement pour une machine, mon code est donné ci-dessous, quelle est la correction nécessairePython: écrire sur port série/x06

import time 
import serial 

ser = serial.Serial(port='COM1',baudrate=9600,parity=serial.PARITY_NONE,stopbits=serial.STOPBITS_ONE,bytesize=serial.EIGHTBITS,timeout=1) 
counter=0 

while 1: 
    ser.write('06') 
    time.sleep(1) 
    counter += 1 
    x=ser.readline() 
    print x 

Répondre

0

Essayez d'utiliser:

ser.write("06".encode()) 

Voici le docs.

+0

quand j'ai fait "06" .encode() montre que la sortie 2 ne génère pas \ x06 –

+0

Cela devrait signifier qu'il a envoyé 2 octets au port série. Essayez d'envoyer une chaîne plus longue. – Fejs

+0

je l'ai envoyé comme ser.write ("\ x06" .encode()) et a travaillé ... merci –

2

Vous besoin de changer '06' en '\x06'.