Ir ao conteúdo
  • Cadastre-se
Queiros19

Arduino EEPROM

Recommended Posts

Tenho uma 24C04WP e uma 24LC32A alguém me arranja uma rotina para uma destas EEPROM em Linguagem IDE Arduino para o ATMEGA328, por favor?

Obrigado

Queiros19

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa biblioteca aceita qualquer memória I2C da família 24XYY, e inclusive permite usar memórias pequenas para simular uma única grande, é bem interessante.

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eu só precisava para uma delas, para mim é indiferente de qual usar (até investigar melhor)

Não conheço as bibliotecas usadas no seu projeto mas ha dirença de acesso entre a linha 24C02/16 e 24C32/1024.

Comandos de leitura/escrita de uma não funciona na outra,verifque como a biblioteca trabalha.

Compartilhar este post


Link para o post
Compartilhar em outros sites

aphawk

Eu também preciso de pouca memória de EEPROM, pouca mesmo, mas não queria fazer acesso na EEPROM do próprio Arduino mas sim de uma externa, visto que tenho um barramento de I2C a funcionar com duas PCF8574 e uma PCF8570, não custa nada por mais um IC.

Várias memórias pequenas para simular uma grande? Como assim? Acho que percebi mas não tenho a certeza

Vtrx

Não percebi, podia repetir sff?!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acabei de ler de novo o link que te passei.

Essa biblioteca para Arduíno é , como sempre, muito bem feita.... ela aceita qqr tamanho de memória desde 16 bytes até 128K bytes, cuida da inicialização, e para você fica TOTALMENTE TRANSPARENTE métodos de acesso ou funcionamento.

Ou seja, você não vai mudar nenhuma instrução para escrever ou ler uma informação, seja uma 24C02 ou uma 24C32. A mudança é apenas no comando de inicialização da biblioteca. Legal, né ?

Quanto ao tamanho, o que eu quis dizer é o seguinte : se você precisa de uma EEPROM de 64K bytes, mas só tem por exemplo duas de 32K, existe uma chamada de função que já faz "a soma " das duas pequenas e simula uma grande, assim quando você for escrever em uma posição que supera a primeira, automáticamente será escrito na segunda ! Não tem de separar por blocos...

Em minha opinião, é uma das mais bem pensadas bibliotecas que eu ví ....

Paulo

Compartilhar este post


Link para o post
Compartilhar em outros sites

estou ficando com vontade de arrancar o cabelo com as próprias maõs!! :mad::mad:

nao consigo por a EEPROM a funcionar nem por nada!!

ja funcionou num sketch a parte mas agora que implementei no circuito e no sketch que tenho ja nada funciona

alguem consegue um codigo prontinho que funcione? é que nem sei o que tenho vindo a fazer de mal!

#include <Wire.h>

#define memstart 85
int dados;

void setup()
{
Serial.begin(9600);
Wire.begin();
Serial.println(".");
}

void loop()
{
i2c_eeprom_write_byte(memstart, 3, 20);
dados = i2c_eeprom_read_byte(memstart, 3);
Serial.println(dados);
delay(10);
}

void i2c_eeprom_write_byte( int deviceaddress, unsigned int eeaddress, byte data ) {
int rdata = data;
Wire.beginTransmission(deviceaddress);
Wire.write((int)(eeaddress >> 8)); // MSB
Wire.write((int)(eeaddress & 0xFF)); // LSB
Wire.write(rdata);
Wire.endTransmission();
}

byte i2c_eeprom_read_byte( int deviceaddress, unsigned int eeaddress ) {
byte rdata;// = 0xFF;
Wire.beginTransmission(deviceaddress);
Wire.write((int)(eeaddress >> 8)); // MSB
Wire.write((int)(eeaddress & 0xFF)); // LSB
Wire.endTransmission();
//Wire.requestFrom(deviceaddress,1);
//if (Wire.available())
rdata = Wire.read();
return rdata;
}

este aqui não funciona, ou melhor, não consigo por a funcionar

PS: tenho uma 24LC32 e esta endereçada com 101 (A2,A1,A0)

Obrigado

Queiros19

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para mim que não uso ARGDuino,essas rotinas são para 24C02/16 e não 24C32,pelo menos como estão montadas e se forem I2C.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×