Annonce

>>> Bienvenue sur codelab! >>> Première visite ? >>> quelques mots sur codelab //// partage de liens //// une carte des membres//// (apéros) codelab


#1 2017-07-18 17:35:48 equivalent d'un code en C pour processing

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 221

equivalent d'un code en C pour processing



Bonjour a tous
quel serait l’équivalent de ce bout de code C en processing
dans une librairie pour arduino jai trouver la ligne suivante:
"return (int32_t)(int8_t)pressureHigh << 16 | (uint16_t)pressureLow << 8 | pressureXL;"
en commentaire c'est ecrit //combine bytes

j'ai essayer comme ca mais cela ne semble pas fonctionner j'ai pas les bonnes valeurs
accRaw = (int)(byte)pressureHigh << 16 | (short)pressureLow << 8 | pressureXL;

Merci
Danny

Hors ligne

 

#2 2017-07-19 16:01:39 Re : equivalent d'un code en C pour processing

emoc
@#@*$
Lieu: Quimper
Date d'inscription: 2008-01-28
Messages: 1572
Site web

Re: equivalent d'un code en C pour processing



Salut,

Le principe de la ligne en C est de recréer un nombre 24 bits à partir de 3 nombres 8 bits.
Il y a de bons exemples qui peuvent t'aider à comprendre ces principes :
https://processing.org/reference/bitwiseOR.html
https://processing.org/reference/leftshift.html

Essaie peut-être :
int accRaw = (int)pressureHigh << 16 | (int)pressureLow << 8 | (int)pressureXL;

Les "int" de processing sont en 32 bits, ça devrait coller avec le (int32_t) du C

Hors ligne

 

#3 2017-07-20 10:31:32 Re : equivalent d'un code en C pour processing

jojolaglaise
membre
Lieu: Basse Normandie
Date d'inscription: 2014-04-20
Messages: 125
Site web

Re: equivalent d'un code en C pour processing



Je suis tombé la dessus, pas mal!
https://openclassrooms.com/courses/les- … es-entiers

Quelques échanges intéressants ici:
https://www.developpez.net/forums/d1278 … tion-bits/

Et un tutoriel de Mozilla:
https://developer.mozilla.org/fr/docs/W … s_binaires

J'ai toujours un peu ignoré le bazar, mais ça donne envie de s'y pencher plus sérieusement!

Dernière modification par jojolaglaise (2017-07-20 10:41:18)

Hors ligne

 

#4 2017-07-21 17:46:09 Re : equivalent d'un code en C pour processing

imdidi
membre
Date d'inscription: 2012-10-05
Messages: 221

Re: equivalent d'un code en C pour processing



merci a vous 2
je vais lire les documents de jojolaglaise ils ont l'air très bien expliqué

emoc cela ne fonctionne pas la cause que pololu mon donner est que les int sont "signed" et pour ces valeurs la, cela doit etre en "unsigned" et il paraitrait que processing ne fait pas le unsigned

j'ai reussi a le faire fonctionner comme ca
pressure = (int)pressureHigh << 16 | pressureLow << 8 | (pressureXL & 0xff);

de cette facon pressurexl est forcer de rester positif et me donne alors la bonne valeur dans les alentour de 1013 millibar

sinon si je ne met pas le 0xff pressurexl va en negatif et lorsque quil y va pressure passe de 1013 a 0.0045829 jusqu'a ce qu'il retourne positif

Danny

Hors ligne

 

fil rss de cette discussion : rss

Pied de page des forums

Powered by FluxBB

codelab, graphisme & code : emoc / 2008-2017