Bonjour,
Je suis en train de réaliser un projet utilisant le port série pour récupérer des trames sur un convertisseur CAN/USB.
Les trames que je récupérer ressemble a ceci :
Dans mon programme j'utilise le signal ReadyRead() pour lancer un slot de lecture que voici :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Z\n\r T00000001402542607\n\r
Mon soucis c'est que je ne reçois que la première partie de la trame. La réception se stoppe après le premier \n\r
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 void CMesure::Lire() { int bytesRead=0; QByteArray Data; char buffer[1024]; bytesRead=lePort->peek(buffer,1024); for(int i=0;i<bytesRead;i++) Data+=buffer[i]; buffer[bytesRead]='\0'; qDebug()<<Data; }
Je récupére donc uniquement Z.
J'ai tenter de nombreuses fonction, Read, ReadAll,ReadLine ou encore lecture en deux fois.. Rien n'y fait je ne parviens pas a lire quoi que ce soit.
Quelqu'un a déjà rencontrer ce soucis ?
Partager