1 pièce(s) jointe(s)
EEPROM et bit de poids fort et faible
Bonjour à tous, j’expérimente les EEPROM, j’ai bien tous compris sauf cette histoire de “bit de poids fort et faible” lors de la fonction write de la bibliothèque Wire.
Voila : Mon code fonctionne bien :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| #include <Wire.h>
#define EEPROM01 0x50
void setup() {
Serial.begin(9600);
Wire.begin();
}
void loop() {
ecriture_eeprom(1, EEPROM01, 23);
delay(1000);
Serial.println(lecture_eeprom(1, EEPROM01));
delay(1000);
}
int lecture_eeprom(int addr, int eeprom) {
int valeur = 12;
Wire.beginTransmission(eeprom);
Wire.write((addr >> 8) & 0xFF);
Wire.write((addr >> 0) & 0xFF);
Wire.endTransmission();
Wire.requestFrom(eeprom, 1);
valeur = Wire.read();
Wire.endTransmission();
return valeur;
}
void ecriture_eeprom(int addr, int eeprom, int donnee) {
Wire.beginTransmission(eeprom);
Wire.write((addr >> 8) & 0xFF);
Wire.write((addr >> 0) & 0xFF);
Wire.write(donnee);
Wire.endTransmission();
} |
Ceci inscrit le nombre 23 à l’adresse 1 puis je li cette valeur. Je ne comprend pas c’est :
Pourquoi >> 8 et pourquoi & 0xFF ?
J’aime bien “imager” les choses et j’ai mis en upload une image dont je me représente les adresses de mon eeprom. Merci d’avance pour vos explication.
Pièce jointe 596274