jeudi 20 février 2014

liaison SPI et masque (langage C)

Bonjour tout le monde, je ne voulais pas ressortir un vieux topic alors je re-poste.



Je dois faire la même chose que là http://ift.tt/1ea86tC (sauf que je suis pas sur PIC mais bon ça on s'en fiche).



donc d'après la discussion, apparemment il faudrait faire qq du genre




Citation:




U16 XAccel;



XAccel = ( (U16) (spi_read_byte() & 0x3F ) ) << 8;

XAccel |= spi_read_byte();



Merci à Micka_ch pour ça.



Seulement, il y a quelquechose que je ne comprends pas: pourquoi à la fin XAccel nn'est pas décalé? (car on a un nombre sur 2 octets alors que l'on ne reçoit que 14 bits), on va pas avoir une valeur 4 fois trop grande?



voici les données du précédent exemple: Pièce jointe 241986



De plus je ne comprend pas pourquoi il faut faire &0x3F, ça modifie l'angle si on a un 1 un MSB, nan?



ou alors je me suis planté dans mon raisonnement ^^





bref, si quelqu'un pouvait éclairer ma lanterne :)





via Forum FS Generation http://ift.tt/1gZt2b3

Aucun commentaire:

Enregistrer un commentaire