Probleme lors d'une conversion 24bits > 32bits
Bonjour,
Je vous expose mon probleme:
Je recois via liaison Série une trame de données 24bits venant d'un convertisseur.
Voulant exploiter ces données je voudrais les convertir en étendant le bit de signe.
Le probleme est que après avoir faire le programme, un collègue m'a dit que mes nombre sont pas corrects......(cohérents mais pas corrects).
Je vous montre mon bout de code. Je ne sais pas votre avis dessus (c'est d'ailleurs l'occasion de me le donner).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| char message[200]; // buffer de reception
int ech;
char *pech;
pech = (char*)&ech;
/* Reception des echantillons */
*(pech+1) = message[0];
*(pech+2) = message[1];
*(pech+3) = message[2];
if(*(pech+1) &0x80) *pech = 0xFF; // Extension bit de signe
else *pech = 0x00; |
Je ne sais pas si c'est la bonne méthode.
Si quelqu'un a des suggestions.... Elles seront les bienvenues.
Merci