Hey guys,
Here on the forum there are several cases of eeprom memory corruption, mainly in the Arduino Uno (atmega328p).
In some cases, random values or ff are displayed in some eeprom addresses.
I would like a comprehensive discussion of these cases.
First of all, has anyone ever had this problem and how did they solve it?
And what causes this problem? Is it in the power supply, electrical noise?
And what can be done at the software and hardware level to avoid this problem?
And the BOD should be disabled or enabled at what voltage level to reduce this problem?
Please provide links to reports of this problem on the forum
Most reported problems with EEPROM turn out to be misunderstandings of how many bytes each data type takes to store and/or use of the wrong function to store data longer than a single byte
1 Like
It was a shame that the full sketch was not posted in that case and there was very little detail of the electrical environment so all bets are off
Hi, @aless81
Your reference is to a Mega, different animal to a UNO.
Why do you want to discuss it?
Do you have a project in mind?
Is it do to with this thread?
Guys, I made a program for the Arduino in which it reads a value from the eeprom and with this value I make a calculation, this value is assigned by a nextion ihm and whenever it changes in the eeprom.
It very rarely happens that when the Arduino is powered, this eeprom value that was previously at 100, 50 or any other value out of nowhere is displayed with 255. It is as if the eeprom was turned off.
Is there anything that could cause this?
Thanks.. Tom...
I can only tell you about the software side
Store a CRC32 in last 4 bytes of EEPROM; calculate it over length() - 4 bytes. Verify each time that you want to read a variable.
Store data 3 times and use best-of-three; if at least 2 variables of the 3 match, use that one.
system
Closed
July 26, 2024, 5:47pm
7
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.