Modifications

Sauter à la navigation Sauter à la recherche
474 octets ajoutés ,  10 août 2013 à 17:07
Ligne 63 : Ligne 63 :  
* Demander le NO de version, donc lectyre d'un octet (type "'''byte'''")  
 
* Demander le NO de version, donc lectyre d'un octet (type "'''byte'''")  
 
* Demander la lecture d'un nombre décimal (type "'''double'''")
 
* Demander la lecture d'un nombre décimal (type "'''double'''")
 +
 +
'''Decodage d'un type DOUBLE:'''<br />
 +
Le décodage d'un type DOUBLE se fait à l'aide d'un struct.unpack. Pour un double, il faut fournir un buffer de 4 octets. Ce buffer doit être une chaîne de caractère.
 +
 +
Il faut donc transformer les 4 octets/byte en provenance d'Arduino et reçu à l'aide de I2C.readList() en une chaine de caractère à l'aide de la fonction CHR().
    
=== Le programme ===
 
=== Le programme ===
Ligne 93 : Ligne 98 :     
# --- Demander le NO de version ---
 
# --- Demander le NO de version ---
 +
# Transfert d'un type BYTE
 +
 
# Ecriture de la valeur 0x01 dans le registre 0  
 
# Ecriture de la valeur 0x01 dans le registre 0  
 
i2c.write8( 0, 0x01 );
 
i2c.write8( 0, 0x01 );
Ligne 102 : Ligne 109 :  
#  Error accessing 0x04: Check your I2C address
 
#  Error accessing 0x04: Check your I2C address
 
time.sleep( 0.100 )
 
time.sleep( 0.100 )
 +
 +
# --- Demander une valeur décimale ---
 +
# Transfert d'un type DOUBLE
    
# demander l'opération de reception d'un float, placer 0x02 dans le
 
# demander l'opération de reception d'un float, placer 0x02 dans le
29 836

modifications

Menu de navigation