mardi 3 janvier 2012

EEPROM check

Suite à des bugs sur mon thermostat, j'ai réalisé un programme de vérification des lectures/écritures sur EEPROM.




Mon Arduino Uno est OK.
Par contre mon Arduino Mini présente des erreurs sur les premières adresses. J'en déduis que cela est du au grand nombre d'écritures sur l'EEPROM (une par seconde). En effet, pour éviter de perdre l'heure en cas de débranchement de l'alimentation, mon programme sauvegarde l'heure à chaque seconde. Afin d'éviter l'usure sur l'EEPROM, j'ai déplacer cette sauvegarder sur le changement de minute.

Comment griller l'EEPROM d'un Arduino ? C'est sur hackaday.

Log


Debut
Erreur: Adr=1 Val=11111111
Erreur: Adr=1 Val=10101010
Erreur: Adr=1 Val=1010101
Erreur: Adr=2 Val=11111111
Erreur: Adr=2 Val=10101010
Erreur: Adr=2 Val=1010101
Erreur: Adr=3 Val=10101010
Erreur: Adr=3 Val=1010101
Erreur: Adr=4 Val=11111111
Erreur: Adr=4 Val=10101010
Erreur: Adr=4 Val=1010101
Fin


Programme


#include <stdio.h>
#include <EEPROM.h>

void setup() {
  Serial.begin(9600);

  Serial.println("Debut");

  byte ecritures[] = { 0, 255, 170, 85 };
  int adr = 0;
  byte val;

  for(int adr=0;adr<512;adr++) {
    for(int i=0;i<4;i++) {
      EEPROM.write(adr,ecritures[i]);
      val = EEPROM.read(adr);
      if(val != ecritures[i]) {
        Serial.print("Erreur: Adr=");
        Serial.print(adr,DEC);
        Serial.print(" Val=");
        Serial.println(ecritures[i],BIN);
      }
    }
  }

  Serial.print("Fin");
}

void loop() {

}

1 commentaire:

  1. Casino - Mapyro
    Casino. Mapyro 보령 출장안마 is an Indian 춘천 출장안마 casino in Tunica, Mississippi. You can find 충주 출장안마 information for 울산광역 출장마사지 a Casino Resort in Tunica, Mississippi. 세종특별자치 출장샵 Rating: 3.8 · ‎6,782 reviews

    RépondreSupprimer