Conversion Hexa et QByteArray
Bonjour,
Je dois envoyer une valeur enregistrée dans un qint16 via le port série.
Il faut par exemple que j'envoie la valeur décimale 5000.
Donc la valeur a envoyer est 0x1388 sur la liaison série. Pour envoyé cette valeur, j'utilise la librairie QextSerialPort. Elle nécéssite de mettre la donnée à envoyer dans un QbyteArray.
Je fais donc :
Code:
1 2 3
|
QByteArray tmp = QByteArray().fill('0', 4); // Pour qu'il y ai 4 octets minimum
tmp = QByteArray::number(5000 ,16); |
Dans la variable tmp j'ai bien le "1388".
Par contre quand j'envoie en faisant :
Code:
_extSerialPort->write(tmp);
J'ai en réception :
Code:
0x31 0x33 0x38 0x38
Car en faite ça a envoyé les caractères ASCII de ma conversion et je ne vois pas dans quelle méthode taper pour palier ce problème.
Quelqu'un a une idée ? Merci.