Modifications

Sauter à la navigation Sauter à la recherche
Ligne 16 : Ligne 16 :     
{{ambox-stop|text=Avant de démarrer le programme MasterWriterDataTypes.py sur votre Raspberry, assurez-vous de voir le message "Bus I2C pret" apparaitre sur le moniteur série d'Arduino IDE.}}  
 
{{ambox-stop|text=Avant de démarrer le programme MasterWriterDataTypes.py sur votre Raspberry, assurez-vous de voir le message "Bus I2C pret" apparaitre sur le moniteur série d'Arduino IDE.}}  
 +
 +
=== Envoi d'une valeur décimale ===
 +
L'envoi d'une valeur décimale (ex: 5.67) se fait à l'aide du type '''Double''' qui est décomposé en 4 octets.
 +
 +
La magie se passe dans la fonction Wire_SendDouble() qui utilise un struct de type union entre Double et byte[4]. Cela permet d'accéder à un même espace mémoire de feux façons différentes:
 +
* une fois pour y stocker une valeur sous le type double,
 +
* Une autres fois pour lire chacun des bytes/octets (tronçons de 8 bits) ''composant ce type double'' stockant la valeur numérique.
 +
 +
Les 4 octets/bytes sont accessibles comme un tableau... ou un buffer. Il est donc possible d'utiliser directement la méthode Wire.write() pour envoyer le ''buffer'' sur le bus I2C.
 +
 +
    
   <nowiki>// === ArduPi-I2C ================================================
 
   <nowiki>// === ArduPi-I2C ================================================
29 917

modifications

Menu de navigation