数组是 char 型,
参考GPT和自己的思路:
首先,从您提供的信息来看,这个问题可能与大小端相关。您可以检查一下您的系统是否是大端存储还是小端存储。如果您的系统是小端存储,那么您可以将读取到的数组逆序后再转化为long类型。这应该可以解决您遇到的问题。
另外,您也可以使用一些现有的库或函数来进行类型转换,这些库或函数会自动处理大小端问题,减少出错的可能性。比如,可以使用 Arduino 的 EEPROM 库函数来读取和写入 EEPROM 中的数据,再用 atoi() 函数或 atol() 函数进行数据类型的转换。
最后,一些硬件或软件问题也可能导致出现转化错误。如果上述方法均无法解决问题,您可以考虑检查硬件和软件相关问题。如果您有任何其他的问题或疑问,请随时联系我。
看看 eepron 中的数据写入正确了没有
这种使用EEPROM的方式本身就有问题,EEPROM寿命并不长,1秒1次很快就会坏掉的。
另外,EEPROM在低压下操作是很容易数据丢失的,你1秒写一次,然后突然断电,很容易发生在写入的时候断电的情况,即使加了低压保护,也可能发生写入不完整的情况。
建议你不要随时写入,而是做个掉电检测电路,检测到掉电的时候,停掉系统其他任何功能,只写入EEPROM