2014-09-02 64 views
1

我的问题是这样的:存储在EEPROM中的长变量

我喜欢在EEPROM中的数据存储像

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

完美,至今没有任何问题。但是,我怎样才能保存一个变量,而不是保存在一个变量?当然,下面没有工作,但它显示了我什么,我喜欢做的事:

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

我想了很多,它不可能是很难弄清楚,但似乎我是瞎看...

回答

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); 
+1

“sprintf(errorflag,”%ld“,long_variable);”这是我的一天,非常感谢! – user3281341 2014-09-03 05:45:04