Escolar Documentos
Profissional Documentos
Cultura Documentos
pesquisar...
MENU PRINCIPAL
Principal Artigos de usurios Ambiente de Aprendizagem Tutoriais
Arduino Banco de Dados Celulares e Tablets Diversos Internet Mac Raspberry Pi Linguagem de Programao Linux Window s
TRANSLATION
Selecione o idioma
Pow ered by
Tradutor
/2 Melhor A VA LIA R
Recom endar
O microcontrolador no Arduino possui uma memria EEPROM, ElectricallyErasable Programmable Read-Only Memory, em portugus memria programvel somente para leitura apagvel eletricamente. Essa uma memria que armazena dados mesmo sem alimentao eltrica e esses dados podem ser gravados e apagados, mas essas operaes podem ser feitas por um nmero de vezes limitado, algo entre 100.000 e 1.000.000 de vezes. Os microcontroladores ATmega328 possuem EEPROM de 1024 bytes, o ATmega168 e o Atmega8 possuem 512 bytes. Essa memria importante quando necessitamos armazenar, por exemplo, configuraes do equipamento, que devem ser mantidas mesmo depois que ele seja desligado, para que no prximo uso as configuraes no tenham que ser refeitas. A gravao na EEPROM feita utilizando-se a biblioteca EEPROM.h e enviando-se byte a byte para a memria. Um cdigo exemplo para se preencher a memria EEPROM com o nmero zero o que segue:
0 1 . 0 2 . 0 3 . 0 4 . 0 5 . 0 6 . 0 7 . 0 8 . 0 9 . 1 0 . # i n c l u d e < E E P R O M . h > v o i ds e t u p ( ){ f o r ( i n ti = 0 ; i < 5 1 2 ; i + + ){ E E P R O M . w r i t e ( i , 0 ) ; } } v o i dl o o p ( ){ }
ENTRAR
Nome de Usurio
Senha
Remember Me
LOGIN
Com esse cdigo preenchemos apenas uma vez, durante a execuo da funo setup(), a memria EEPROM disponvel com zeros. No caso estou usando um microcontrolador ATmega168, de 512 bytes. Esse exemplo pode ser utilizado para limpar (zerar) a memria. A funo EEPROM.write() recebe dois parmetros, o primeiro a posio da memria, de 0 at o mximo disponvel, e o byte a ser guardado. Um exemplo para guardar a palavra seucurso :
0 1 . 0 2 . 0 3 . 0 4 . 0 5 . 0 6 . 0 7 . 0 8 . 0 9 . 1 0 . 1 1 . 1 2 . # i n c l u d e < E E P R O M . h > c h a rp a l a v r a [ ]=" s e u c u r s o " ; v o i ds e t u p ( ){ f o r ( i n ti = 0 ; i < s i z e o f ( p a l a v r a ) ; i + + ){ E E P R O M . w r i t e ( i , p a l a v r a [ i ] ) ; } } v o i dl o o p ( ){ }
Esse cdigo acima grava a palavra seucurso a partir da primeira posio a memria EEPROM, ou seja, zero. Para ler a memria EEPROM mais simples ainda, basta usar a funo EEPROM.read() e passar como parmetro a posio de memria a ser lida:
0 1 . 0 2 . 0 3 . 0 4 . 0 5 . 0 6 . 0 7 . 0 8 . 0 9 . 1 0 . 1 1 . 1 2 . 1 3 . 1 4 . 1 5 . 1 6 . 1 7 . 1 8 . 1 9 . # i n c l u d e < E E P R O M . h > i n tp o s i c a o=0 ; b y t ev a l o r ; v o i ds e t u p ( ) { S e r i a l . b e g i n ( 9 6 0 0 ) ; } v o i dl o o p ( ) { v a l o r=E E P R O M . r e a d ( p o s i c a o ) ; S e r i a l . p r i n t ( p o s i c a o ) ; S e r i a l . p r i n t ( " \ t " ) ; S e r i a l . w r i t e ( v a l o r ) ; S e r i a l . p r i n t l n ( ) ; p o s i c a o + + ;
http://www.seucurso.com.br/index.php?option=com_content&view=article&id=266:como-usar-a-memoria-eeprom-do-arduino&catid=901:arduino&Itemid=65
1/2
24/1/2014
Com esse exemplo, lemos uma posio da EEPROM e enviamos via porta serial para o PC, dessa forma podemos ver o resultado abrindo o Serial Monitor do Arduino. Note que a leitura feita byte a byte e quando chegamos ao final da memria voltamos ao incio novamente.
Atualizar
Enviar
J C omments
http://www.seucurso.com.br/index.php?option=com_content&view=article&id=266:como-usar-a-memoria-eeprom-do-arduino&catid=901:arduino&Itemid=65
2/2