Bonjour, merci infiniment pour vos indications,
J'ai au tout début exécuté une ligne de commande pour confirmé que le port série est bien attaché, et aussi grâce à super Terminal qui visualise le trafic sur le port série, j'ai pu bien voir que tout est bien envoyer et que je reçois une trame de résultat. Pour le langage de programmation, python m'a été imposé, mais merci pour les suggestions.
Je suis aller à la page de Pyserial et j'ai trouver plain de fonction pour lire les trames dont la fonction inWaiting que j'ai utilisé, et qui a très bien marché: je vous met le code ci-dessous ainsi que le résultat de l'exécution:
Code : Tout sélectionner
# -*- coding: utf-8 -*-
import serial
import struct
import time
ser = serial.Serial(
port='/dev/ttyUSB0',
baudrate=9600,
parity=serial.PARITY_ODD,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=0.1
)
ser.flushOutput()
ser.flushInput()
ser.flush()
ser.write((chr(0x7E) + chr(0x7E) +chr(0x73) + chr(0x02) + chr(0x73) + chr(0x02)).encode('ASCII'))
i=0
while i<11:
time.sleep(0.1)
if ser.inWaiting != 0:
x=ord(ser.read(1))
print(hex(x))
i+=1
result:
0x7e
0x7e
0x73
0x7
0x0
0x0
0x0
0x0
0x0
0xa2
0x79
>>>
Maintenant que j'ai bien reçu la trame élément par élément grâce à la boucle
while, je voudrais mettre ces bits(0x7e ...) dans un tableau (liste) pour les utiliser mais je n'arrive pas après plusieurs essais, (Par exemple je veux extraire (0x7) qui est le bit de la taille de trame, tout ces bits ont une signification donc j'ai penser a les mettre dans un tableau)
exemple :
par exemple: tab = ma trame reçue -> ([0x7e, 0x7e, 0x73, 0x7, 0x0, 0x0, ...])
et si je veux utilisé mon bit de taille(0x7), je mettrais qui sera alors l’élément 3 dans mon tableau (ma trame mise dans un tableau) :
bite_taille=tab[3]
J'ai essayé ça ! mais je pense que je suis loin dans mon incompréhension
:
Code : Tout sélectionner
i=0
while i<11:
time.sleep(0.1)
if ser.inWaiting != 0:
x=ord(ser.read(1))
z=print(hex(x))
i+=1
tab=[z]
print(tab)
Result:
0x7e
0x7e
0x73
0x7
0x0
0x0
0x0
0x0
0x0
0xa2
0x79
[None]
>>>