Salut!
J'ai besoin d'aide concernant la fonction fwrite de MATLAB.
En fait, je crée un fichier binaire avec la fonction fwrite. Dans ce fichier, je souhaite écrire les valeurs 10 (sur 1 octet), 11(sur 2 octets) et enfin 12(sur 1 octet). Concernant la valeur 11 que j'écris, je souhaite écrire d'abord le MSB(0x00), ensuite le LSB(0x0b). Voilà mon code :
Lorsque j'exécute ce code en mettant 11 comme paramètre d'entrée de ma fonction, je visualise le résultat avec un éditeur hexadécimal et voilà le ce que j'obtiens :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 function write(value) file = fopen('test', 'w'); fwrite(file, 10); fwrite(file, value, 'uint16', 0, 'b'); fwrite(file, 12); fclose('all');
octets 0 1 2 3
valeurs : 0a e0 b0 8b
Alors que ce que moi j'aimerais obtenir c'est
octets 0 1 2 3
valeurs : 0a 00 0b 0c
J'ai déjà essayé divers paramètres de mes fonctions fwrite et fopen, mais rien n'y fait.
Autre chose : lorsque j'écris la valeur 10 ensuite la valeur 11, j'obtiens bien 0a 00 0b.
De même, losrque j'écris la valeur 11, ensuite la valeur 12, j'obtiens bien 00 0b 0c.
Mais lorsque j'écris les trois valeurs, c'est là où j'obtiens 0a e0 b0 8b!!!
Si quelqu'un pouvait me dire comment résoudre mon problème...
Merci d'avance!
Partager