Olá a todos,estou com esta dificuldade, quero guardar na eeprom um valor int que o valor seja de 256 até 600 mas eu só consigo guardar um valor até 255 depois disso ele guarda como se fosse 0. alguém sabe me dizer o porque?
eu faço da seguinte forma:
int a = 256;
EEPROM.write(1,a);
O problema que ao ler a eeprom 1 ele me da o valor int 0 e não o 256 que eu mandei guardar.
Tags:
Boa noite caro Napster,
Favor informar qual Biblioteca EEPROM esta usando.
Provavelmente a variável que esta armazenando é do tipo Byte.
Na rel eu não sei qual é a biblioteca, acho que ja vem no arduino, eu chamo ela assim: #include <EEPROM.h>
obrigado pela resposta, ajudou bastante no meu entendimento da EEPROM, no seu link explica certinho como fazer para guardar um valor maior que 255, só que eu reproduzi o exemplo e mesmo assim não consegui guardar um valor por exemplo de "511" o valor que eu consigo visualizar na serial e de 255. vou deixar em anexo o sketch que eu fiz.
meu sketch e só de exemplo, não é onde exatamente eu quero usar e sim só um para eu aprender a guardar estes valores logo ele é bem pequeno
Consegui resolver, pesquisei e achei uma forma fácil e pratica de fazer este armazenamento.
void EEPROMWriteInt(int address, int value)
{
byte two = (value & 0xFF);
byte one = ((value >> 8) & 0xFF);
EEPROM.update(address, two);
EEPROM.update(address + 1, one);
}
int EEPROMReadInt(int address)
{
long two = EEPROM.read(address);
long one = EEPROM.read(address + 1);
return ((two 0) & 0xFFFFFF) + ((one 8) & 0xFFFFFFFF);
}
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por