Voir commentaire dans le code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
typedef struct Trame
{
	char AdresseDuModule[2];
	char Fonction[2];
	char AdresseDuRegistre[4];
	char EtatDuVentilateur[4];
	char Checksum[4];
 
}st_Trame;
 
void main()
{
	char ChaineRecue[17] = "030600020001E828";
	st_Trame* MaTrame;
	MaTrame = (st_Trame*) ChaineRecue;
 
	printf("%s\n",MaTrame->AdresseDuModule); // doit contenir "03"
	printf("%s\n",MaTrame->Fonction); // doit contenir "06"
	printf("%s\n",MaTrame->AdresseDuRegistre); //doit contenir "0002"
	printf("%s\n",MaTrame->EtatDuVentilateur); // doit contenir "0001"
	printf("%s\n",MaTrame->Checksum);; //doit contenir "E828"
}
Résultat obtenu :

030600020001E828 (alors que je souhaiterai avoir : "03")
0600020001E828 (alors que je souhaiterai avoir : "06")
00020001E828 (alors que je souhaiterai avoir : "0002")
0001E828 (alors que je souhaiterai avoir : "0001")
E828