Remplacer pgm_read_byte et PROGMEM

Je voudrais utiliser le code ci-dessous mais sans PROGMEM et pgm_read_byte.
Est ce que c'est possible ?
Je ne vois ce que c'est

daysInMonth + i - 1;
// DS3231 is smart enough to know this, but keeping it for now so I don't have
// to rewrite their code. -ADW
static const uint8_t daysInMonth [] PROGMEM = { 31,28,31,30,31,30,31,31,30,31,30,31 };

// number of days since 2000/01/01, valid for 2001..2099
static uint16_t date2days(uint16_t y, uint8_t m, uint8_t d) {
    if (y >= 2000)
        y -= 2000;
    uint16_t days = d;
    for (uint8_t i = 1; i < m; ++i)
        days += pgm_read_byte(daysInMonth + i - 1);
    if (m > 2 && isleapYear(y))
        ++days;
    return days + 365 * y + (y + 3) / 4 - 1;
}

Merci.

Bonjour,

C'est pour accéder à l'élément i-1 du tableau.
Sans le PROGMEM ce serait
day+=daysInMonth[i-1];

oui je pense que c'est cela en fait. Merci.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.