Bonjour,
Le code suivant mettant à jour les valeurs des registres du RTC DS1307 fonctionne sans problème.
Wire.beginTransmission(DS1307_ADDRESS);
Wire.write(byte(0));
Wire.write(decToBcd(secondes));
Wire.write(decToBcd(minutes));
Wire.write(decToBcd(heures));
Wire.write(decToBcd(jourSemaine));
Wire.write(decToBcd(JourDuMois));
Wire.write(decToBcd(mois));
Wire.write(decToBcd(annee));
Wire.write(byte(0));
Wire.endTransmission();
Toutefois, par souci de compacticité, je souhaiterais ne modifier que la valeur des secondes.
En supprimant les lignes apparemment inutiles comme suit...
Wire.beginTransmission(DS1307_ADDRESS);
Wire.write(byte(0));
Wire.write(decToBcd(secondes));
// Autres lignes supprimées.
Wire.write(byte(0));
Wire.endTransmission();
...la valeur des secondes est correctement actualisée, mais celle des minutes passe systématiquement à "0". Les autres valeurs (heures,… année) sont conservées.
Comment faire pour avoir un code compact sans réinitialiser les autres valeurs ?
Merci pour votre aide.