好吧,我希望这个问题适合 Stackoverflow(如果不是这样,我已经想道歉了)
我有来自 Silabs 的 C8051F340 微控制器。我写了一个小接口,它将信息存储在来自 uC 的非易失性闪存中。现在就像在描述的数据表中一样,我将所有数据保存在地址 0x0200 - 0x0300 之间。要在那里复制我的数据,我只需使用 memcpy。
char xdata *ptr_selection = 0x0210;
// Some other code here
memcpy (ptr_selection, writeBuffer, sizeof (writeBuffer));
好吧,复制本身运行良好(我查看了闪存,它正确保存了我的数据) - 如果我现在断开我的 uC 并在 5 秒内再次连接它,数据仍然存在。但是,如果我让它断开连接,我的数据或多或少会“重置” - 这意味着它每次都会获得几乎相同的“重置值”。那我做错了什么?我的意思是闪存数据不是非易失性的还是我做错了什么?