quarta-feira, 9 de setembro de 2015

A Memória persistente no Arduino - EEPROM



Quando desligamos um dispositivo microcontrolador, os dados armazenados em sua memória de acesso aleatório se perdem. Muitos projetos, porém, exigem o armazenamento de algumas informações para uso posterior, ou simplesmente para continuar de onde o dispositivo parou, quando uma queda de energia faz o dispositivo reiniciar, por exemplo. O microcontrolador do Arduino possui uma memória EEPROM (Electrically-Erasable Programmable Read-Only Memory, em português Memória Programável Somente para Leitura Apagável Eletricamente). Essa memória é capaz de armazenar dados mesmo sem energia, mas é importante lembrar que as operações de gravação e deleção só podem ser feitas por um número de vezes limitado, algo entre 100.000 e 1.000.000 de vezes, o que já vem a ser o bastante para boa parte dos projetos. Os microcontroladores ATmega328 possuem EEPROM de 1024 bytes, o ATmega168 e o Atmega8 possuem 512 bytes. A gravação na EEPROM é feita utilizando-se a biblioteca <EEPROM.h> e enviando-se byte a byte para a memória. Considere, porém, que isso não faz da EEPROM uma memória a ser utilizada da mesma forma que a RAM, onde você escreve as variáveis do seu programa. O procedimento de escrita na EEPROM é mais demorado, e, como já dissemos anteriormente, não pode ser usado infinitamente. E se seu projeto exige uma quantidade maior de dados armazenados de forma persistente, a melhor opção será a memória flash, presente nos cartões SD. 



Nenhum comentário:

Postar um comentário