Je vais avoir des problèmes pour faire parler Python à un affichage de matériel à l'aide pyserial. Certaines des fonctions d'affichage ont besoin d'un mot signé à envoyer comme arguments après les commandes (ie. X ou Y sur l'écran d'affichage).Comment puis-je convertir un entier en un mot signé en Python (pour une utilisation avec PySerial)?
je reçois par avec chr() précédemment, mais qui ne fonctionne qu'avec des numéros < 255.
J'ai essayé ce qui suit pour la conversion mais il donne des résultats étranges, en plaçant des choses loin l'ensemble Position:
def ByteIt(self,data):
datastring = str()
for each in tuple(str(data)):
datastring = datastring + chr(int(each))
return datastring
je peux être moi-même loin ici :)
Exemple de la façon dont je voudrais l'utiliser:
x = 100
y = 350
serial.Write('\x01' + ByteIt(x) + ByteIt(y)) # command , xpos , ypos
La chose est, quand je le fais, les choses n'est pas placé à x100, y350, la plupart du temps l'écran se bloque :(
Des conseils sur la façon dont cela peut être fait correctement?
Y at-il une raison quelconque vous ne pouvez pas simplement écrire 'serial.Write (« \ x01 » + str (x) + str (y)) 'ou quelque chose à cet effet? –
Je ne sais pas pourquoi, mais je pense que quand je l'ai fait, l'écran l'a imprimé au lieu de l'exécuter. – Kanonskall