I am using a SF3 Fram Pmod. The project originally used an Adafruit SPI Non-Volatile 8KByte FRAM breakout. However, the project needed a larger storage device and the SF3 was chosen.
It appears the SP3 stores data is by doing a bitwise operation between the registers and the new message. Basically, each time a register is written to, the RAM does a bitwise AND operation with the previous value. When the erase command is sent, the registers are set to xFF, so any data can be written there, but when overwriting a previous value (other than xFF), the result may be different than expected.
Example 1:
Example 2
Example 2 shows the correct value because the ‘1’s line up.
The Adafruit FRAM does not have this feature.
Am I missing something? Is there a way to store changing data on the SF3 without having to erase an entire block before rewriting a single byte?
Thanks in advance.