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
| //Sous-routine pour obtenir l'alarme 1
void get_alarm()
{
uint8_t n[4];
uint8_t t[4]; //second,minute,hour,day
uint8_t f[5]; // flags
uint8_t i;
Wire.beginTransmission(DS3231_I2C_ADDR); //
Wire.write(DS3231_ALARM1_ADDR);
Wire.endTransmission();
Wire.requestFrom(DS3231_I2C_ADDR, 4);
for (i = 0; i <= 3; i++) {
n[i] = Wire.read();
Serial.println(n[i]);
f[i] = (n[i] & 0x80) >> 7;
Serial.println(n[i]);
t[i] = bcdtodec(n[i] & 0x7F);
Serial.println(n[i]);
}
f[4] = (n[3] & 0x40) >> 6;
t[3] = bcdtodec(n[3] & 0x3F);
wake_SECOND = t[0];
Serial.println(wake_SECOND);
wake_MINUTE = t[1];
Serial.println(wake_MINUTE);
wake_HOUR = t[2];
Serial.println(wake_HOUR);
} |