Bonjour,

Je travaille sur un RPI3, et je voudrais envoyer une trame en hexadécimal à un dispositif de comptage, avec une liaison série RS232(adaptateur USB/RS232), la trame une fois reçue, le boitier de comptage me renvoi immédiatement une trame de résultat (résultat du comptage)(dès que j'exécute, la trame est envoyée et celle de résultat reçue), j'ai donc fait un petit code pour envoyer la trame de demande de résultat, celle ci est bien envoyée et le système de comptage répond parfaitement, car avec un super terminal, je peut voir les trames envoyées et reçues.

Mon problème est que mon code pour la lecture de la trame recu a mon raspberry, ne s'affiche pas, le programme s'exécute mais n'affiche rien!
voici le code de lecture:

Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# -*- coding: utf-8 -*-
import serial                     
import struct                     
 
ser = serial.Serial(
    port='/dev/ttyUSB0',
    baudrate=9600,
    parity=serial.PARITY_ODD,
    stopbits=serial.STOPBITS_ONE,
    bytesize=serial.EIGHTBITS
)
 
trame_envoi = [0x7E, 0x7E]
 
for i in trame_envoi:
    ser.write(chr(i))
Pour lire la trame recu j'ai ajouter ce code sur le meme code ci-dessus :

Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
x=ser.readline()
print (x)

ceci ne marchant pas (aucun affichage) sachant que la trame est bien envoyée et bien recue, alors j'ai créer un autre code en mettant les ligne de lecture sur, comme ceci:

Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import time
import serial
 
ser = serial.Serial(
        port='/dev/ttyUSB0',
        baudrate = 9600,
        parity=serial.PARITY_ODD,
        stopbits=serial.STOPBITS_ONE,
        bytesize=serial.EIGHTBITS,
        timeout=1
)
while 1:
        x=ser.readline()
        print (x)

Après ceci, toujours la meme chose ! après des recherches on me parle de buffer qui faut vider ! (pas très bien saisi), alors j'ai ajouter dans le code de lecture cette ligne:

Mais toujours sans succès ! Quand je dis rien s'affiche, c'est que l'exécution s'effectue mais ne s’arrête pas, jusqu’à ce que je face Ctrl+c

Quelqu’un aurait t-il des indications et proposer une solution?

Je vous remercie