EEPROMWrite

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 örnek, EEPROM.write () işlevini kullanarak analog giriş 0'dan okunan değerlerin EEPROM'a nasıl kaydedileceğini gösterir. Bu değerler kart kapatıldığında EEPROM'da kalacaktır ve daha sonra başka bir çizim ile alınabilir.

Gerekli Donanım

  • Arduino veya Genuino Kurulu

Devre

Bu örnek için devre yok.

Şemalar

Kod

/*
 * EEPROM Write
 *
 * Stores values read from analog input 0 into the EEPROM.
 * These values will stay in the EEPROM when the board is
 * turned off and may be retrieved later by another sketch.
 */


#include <EEPROM.h>

/** the current address in the EEPROM (i.e. which byte we're going to write to next) **/
int addr = 0;

void setup() {
  /** Empty setup. **/
}

void loop() {
  /***
    Need to divide by 4 because analog inputs range from
    0 to 1023 and each byte of the EEPROM can only hold a
    value from 0 to 255.
  ***/


  int val = analogRead(0) / 4;

  /***
    Write the value to the appropriate byte of the EEPROM.
    these values will remain there when the board is
    turned off.
  ***/


  EEPROM.write(addr, val);

  /***
    Advance to the next address, when at the end restart at the beginning.

    Larger AVR processors have larger EEPROM sizes, E.g:
    - Arduno Duemilanove: 512b EEPROM storage.
    - Arduino Uno:        1kb EEPROM storage.
    - Arduino Mega:       4kb EEPROM storage.

    Rather than hard-coding the length, you should use the pre-provided length function.
    This will make your code portable to all AVR processors.
  ***/

  addr = addr + 1;
  if (addr == EEPROM.length()) {
    addr = 0;
  }

  /***
    As the EEPROM sizes are powers of two, wrapping (preventing overflow) of an
    EEPROM address is also doable by a bitwise and of the length - 1.

    ++addr &= EEPROM.length() - 1;
  ***/



  delay(100);
}
[Kodu Al]

See Also

  • EEPROM.write()
  • analogRead()
  • if()
  • 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 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 Get- EEPROM'dan değerler alın ve seri halinde kayan nokta olarak yazdırın.
  • EEPROM Update- EEPROM ömrünü uzatmak için A0'dan okunan değerleri EEPROM'a kaydeder ve değeri yalnızca farklıysa yazar.