Bonsoir à tous,

Voilà, je programme en ce moment pour un projet scolaire un microcontrolleur (un PIC16F876A de chez Microchip) en C.

Celui ci possède un CAN de 10bits (un outil qui capture une tension envoyée sur une broche du microcontrolleur en gros) qui stocke le résultat d'une mesure dans deux registres (je ne sais pas si ils sont contigus en mémoire mais dans le doute on va dire que non, le pointeur est donc à prohiber) de 8bits.

En gros les 8 Bits les plus significatifs de ma valeur sont stockée dans un premier registre et les 8 bits les moins significatifs dans un second.

Par exemple, si mon CAN de 10 bits renvoie la valeur maximale (1023 en décimal donc, soit 0000001111111111 en binaire sur 16bits), mon registre 1 (ADRESH c'est son nom) contiendra "00000011" et l'autre (ADRESL) contiendra "11111111".

Concrètement j'aimerais savoir comment faire en C pour concaténer ces deux registres en une seule variable (un int sur 16bits donc) pour pouvoir ensuite faire des calculs sur la variable entière.

Je cherche un opérateur ou autre moyen de faire cela : un truc du genre
Code : Sélectionner tout - Visualiser dans une fenêtre à part
resultat = ADRESH + ADRESL
sauf que ça m'étonnerait que ça marche avec un plus^^

Un grand merci d'avance à vous.

Spartan03