Ir ao conteúdo
  • Cadastre-se

Arduino EEPROM


Queiros19

Posts recomendados

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.

Link para o comentário
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?!

Link para o comentário
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

Link para o comentário
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

Link para o comentário
Compartilhar em outros sites

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...