Ligne 11 : |
Ligne 11 : |
| == Programme SlaveRegisterDataTypes == | | == Programme SlaveRegisterDataTypes == |
| | | |
− | Le fonctionnement du programme Arduino est identique à celui de l'exemple du Registre dont vous trouverez [[ArduPi-I2C-Registre-CodeArduino|les détails du fonctionnement ici]]. | + | {{bloc-etroit|text= Le fonctionnement du programme Arduino est identique à celui de l'exemple du Registre dont vous trouverez [[ArduPi-I2C-Registre-CodeArduino|les détails du fonctionnement ici]]. |
| | | |
− | N'oubliez pas d'ouvrir le moniteur série d'Arduino, car une communication série est initialisée pour permettre l'affichage de quelques informations utiles. | + | N'oubliez pas d'ouvrir le moniteur série d'Arduino, car une communication série est initialisée pour permettre l'affichage de quelques informations utiles. |
| | | |
| {{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 === | | === 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. | + | |
| + | {{bloc-etroit|text=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: | | 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: |
Ligne 25 : |
Ligne 27 : |
| | | |
| 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. | | 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. |
− | | + | }} |
| | | |
| | | |