作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
环境
我正在为 arduino
编写一个小游戏在 atmega328p 上,我试图通过读/写 eeprom
来保持高分内存。
但我不知道如何检查eeprom
中的数据是正确的高分或一些随机数据。
问题
有没有一种方法可以检测 eeprom
中的数据是否存在?是程序的一部分或手动将其重置为 Atmel Studio
中的特定值/Arduino IDE
?
最佳答案
你总是可以尝试写一个像这样的小结构:
struct
{
uint32_t Signature;
uint32_t HighScore;
}EEPROMData;
您将签名设置为已知的硬编码值,设置高分,然后编写整个结构。阅读时,您将检查签名。这不太可能是你的值(value)。
如果您需要更多保险,而不仅仅是随机数据,您可以这样做:
struct
{
uint32_t Signature;
uint32_t HighScore;
uint32_t XORRResult;
}EEPROMData;
同时写入签名和高分的异或结果。当你阅读它时,你会将签名和高分的异或与 XORResult 进行比较。如果匹配,则说明您写入的数据不是随机的。
关于c++ - 有没有办法检测来自eeprom的首次访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34631256/
我是一名优秀的程序员,十分优秀!