Bonjour à tous,
je suis en train de faire une fonction qui me permet d'envoyer une trame de type série d'un boitier électronique, à un PC.
j'ai fait la réception, et je fais l'émission.
Ma trame est décomposée comme suivi : ( en hexa)
80 00 80 00 AA AA 00 02 AA BB 45 1D 00 00
explication :
80 00 80 00 : marqueur de début de trame
AA AA : identifiant de la trame
00 02 : longueur des données
AA BB : les données
45 ID : le checksum
00 00 : marqueur de fin de trame.
jusque là tout est ok ?

Pour ma réception, je fais :
id = (UINT16)(str[ 4 ] << 8) + str[ 5 ];
pour que j'obitenne 0xAAAA dans mon id.
tout fonctionne.

mais pour l'émission, il faut que ça fonctionne dans l'autre sens, je veux mettre AAAA dans la trame.

(UINT16)(str[ 4 ] << 8) + str[ 5 ] = id ;
ne foncitonne pas et me renvoie "invalid expression, need lvalue"

l'ID sera encore de type 0xAAAA. codé sur 2 octets. mon str est sur 8 bits.
Je suis un peu coincé...
Merci de votre aide.