EEPROMGet

Arduino ve Genuino kartlarındaki mikro denetleyicide, kart kapatıldığında (küçük bir sabit sürücü gibi) değerleri tutulan 512 bayt EEPROM: bellek bulunur.

Bu örneğin amacı, put ve get yöntemlerinin, tek bayt üzerinde çalışan yazma ve okumadan nasıl farklı bir davranış sağladığını göstermektir. EEPROM'dan farklı değişkenler almak, değişken veri tipiyle ilgili bir dizi bayt alır.

Gerekli Donanım

  • Arduino veya Genuino Kurulu

Devre

Bu örnek için devre yok.

Şemalar

Kod

/***
    eeprom_get example.

    This shows how to use the EEPROM.get() method.

    To pre-set the EEPROM data, run the example sketch eeprom_put.
    This sketch will run without it, however, the values shown
    will be shown from what ever is already on the EEPROM.

    This may cause the serial object to print out a large string
    of garbage if there is no null character inside one of the strings
    loaded.

    Written by Christopher Andrews 2015
    Released under MIT licence.
***/


#include <EEPROM.h>

void setup() {

  float f = 0.00f;   //Variable to store data read from EEPROM.
  int eeAddress = 0; //EEPROM address to start reading from

  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  Serial.print("Read float from EEPROM: ");

  //Get the float data from the EEPROM at position 'eeAddress'
  EEPROM.get(eeAddress, f);
  Serial.println(f, 3);    //This may print 'ovf, nan' if the data inside the EEPROM is not a valid float.

  /***
    As get also returns a reference to 'f', you can use it inline.
    E.g: Serial.print( EEPROM.get( eeAddress, f ) );
  ***/


  /***
    Get can be used with custom structures too.
    I have separated this into an extra function.
  ***/


  secondTest(); //Run the next test.
}

struct MyObject {
  float field1;
  byte field2;
  char name[10];
};

void secondTest() {
  int eeAddress = sizeof(float); //Move address to the next byte after float 'f'.

  MyObject customVar; //Variable to store custom object read from EEPROM.
  EEPROM.get(eeAddress, customVar);

  Serial.println("Read custom object from EEPROM: ");
  Serial.println(customVar.field1);
  Serial.println(customVar.field2);
  Serial.println(customVar.name);
}

void loop() {
  /* Empty loop */
}
[Kodu Al]

See Also

  • EEPROM.get()
  • EEPROM library reference
  • EEPROM Clear- EEPROM belleğinin içeriğini “0” ile doldurur.
  • EEPROM Read- EEPROM'da saklanan değerleri okur ve Seri üzerine yazdırır.
  • EEPROM Write- A0'dan okunan değerleri EEPROM'a kaydeder.
  • EEPROM Crc- EEPROM içeriğinin CRC'sini bir diziymiş gibi hesaplar.
  • EEPROM Iteration- EEPROM bellek konumlarından nasıl geçileceği ile ilgili programlama örnekleri.
  • EEPROM Put- Değişken anlambilim kullanarak değerleri EEPROM'a koyun (EEPROM.write () öğesinden farklıdır).
  • EEPROM Update- EEPROM ömrünü uzatmak için A0'dan okunan değerleri EEPROM'a kaydeder ve değeri yalnızca farklıysa yazar.