将长变量存储在EEPROM中

时间:2014-09-02 15:13:36

标签: arduino eeprom

我的问题如下:

我喜欢将数据存储在像

这样的EEPROM中
char errorflag[] = "1234567"; 
i2c_eeprom_write_page(0x50, 0, (byte *)errorflag, sizeof(errorflag)); 

完美,到目前为止没有问题。但是如何保存存储在变量中的long呢?当然以下不起作用,但它显示了我喜欢做的事情:

long long_variable = 1234567;
char errorflag[] = long_variable;  
i2c_eeprom_write_page(0x50, 0, (byte *)errorflag, sizeof(errorflag)); 

我做了很多尝试并不难解决这个问题,但看起来我似乎无视... ...

1 个答案:

答案 0 :(得分:2)

如果要将数据保存为原始二进制文件:

long long_variable = 1234567;
i2c_eeprom_write_page(0x50, 0, (byte *) long_variable, sizeof(long_variable)); 

如果要将变量转换为文本并保存(包括'\0'终结符):

long long_variable = 1234567;
char errorflag[16];
sprintf(errorflag, "%ld", long_variable);
i2c_eeprom_write_page(0x50, 0, (byte *) errorflag, strlen(errorflag) + 1);