Représentation d'un format 12 bits en little endian... help !

Représentation d'un format 12 bits en little endian... help ! - Divers - Programmation

Marsh Posté le 10-06-2005 à 15:06:12    

Salut ! :hello:  
 
Je dois réaliser une partie logicielle d'un système. Mon environnement est LabView 7.1 (mais peu importe), qui fonctionne en big endian. Les autres systèmes avec qui je dois communiquer sont en little endian.
 
Pour les données codés sur un nombre entier d'octets, pas de problèmes, je me contente de faire une permutation d'octets:
 
ex :  
|15 14 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
devient
|7 6 5 4 3 2 1 0 | 15 14 13 12 11 10 9 8 |
 
Mais qu'en est-il d'une donnée sur 12 bits :
|11 10 9 8 | 7 6 5 4 3 2 1 0 |           ?????????
Que devient-elle en little endian ???
Devient elle  
|3 2 1 0 | 11 10 9 8 7 6 5 4 |
ou encore
7 6 5 4 3 2 1 0 | 11 10 9 8 | ?
 
J'avoue que je bloque :(, si quelqu'un peut m'aider, merci beaucoup !  :jap:


Message édité par strongtulip le 10-06-2005 à 15:14:56
Reply

Marsh Posté le 10-06-2005 à 15:06:12   

Reply

Marsh Posté le 10-06-2005 à 15:33:14    

ta pas un systeme en petit boutiste sous la main??pour fair  un test??


---------------
si un jour on te reproche que ton travail n'est pas celui d'un professionel . dit toi bien que se sont des professionels qui on construit le titanic et des amateurs l'arche de noë...
Reply

Marsh Posté le 10-06-2005 à 15:42:05    

Malheureusement non :(, lesdits systèmes nous seront fournis par diverses boites, mais on n'en a pas encore.
J'enchaîne googoole et forums depuis tout à l'heure, mais je n'ai que des exemples de données représentées en multiples d'octets

Reply

Marsh Posté le 10-06-2005 à 15:50:03    

le probleme c ke ta mémoire elle ne peu stocker que des octets je pense ?!
d'ailleur dans tes exemple se ne sont pas des bits??


---------------
si un jour on te reproche que ton travail n'est pas celui d'un professionel . dit toi bien que se sont des professionels qui on construit le titanic et des amateurs l'arche de noë...
Reply

Marsh Posté le 13-06-2005 à 10:37:35    

Bha, on me dit juste dans les specs "le champ untel indique le nombre de..., codé sur 12 bits", ce champ fait partie d'une trame que je dois envoyer par TCP/IP

Reply

Marsh Posté le 20-06-2005 à 19:40:49    

strongtulip a écrit :

Salut ! :hello:  
Je dois réaliser une partie logicielle d'un système. Mon environnement est LabView 7.1 (mais peu importe), qui fonctionne en big endian. Les autres systèmes avec qui je dois communiquer sont en little endian.
Pour les données codés sur un nombre entier d'octets, pas de problèmes, je me contente de faire une permutation d'octets:
 
ex :  
|15 14 13 12 11 10 9 8 | 7 6 5 4 3 2 1 0 |
devient
|7 6 5 4 3 2 1 0 | 15 14 13 12 11 10 9 8 |
 
Mais qu'en est-il d'une donnée sur 12 bits :
|11 10 9 8 | 7 6 5 4 3 2 1 0 |           ?????????
Que devient-elle en little endian ???
Devient elle  
|3 2 1 0 | 11 10 9 8 7 6 5 4 |
ou encore
7 6 5 4 3 2 1 0 | 11 10 9 8 | ?


 
 
Les problèmes d'endianismes n'interviennent que lors de la transmission des données, c'est à dire aux interfaces entre les systèmes. Il est important que tu saches de quel type est chaque interface, est elle alignée 8bits, 16bits, 32bits, etc... Peu importe comment ces bits seront ensuite utilisé (ex 16bits = champs 12bits + champs 4bits, ). Il te faut simplement faire les interversions pour ajuster l'alignement des deux interfaces.


Message édité par farfouille le 20-06-2005 à 19:41:39
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed