改了之后存不了,没有写入flash
EEPROM 的代码
s32 temp;
temp=tp_dev.xfac*100000000;
AT24CXX_WriteLenByte(SAVE_ADDR_BASE,temp,4);
改了后,用flash
s32 temp;
temp=tp_dev.xfac*100000000;
W25QXX_Write((u8*)temp,SAVE_ADDR_BASE,4);
flash写数据的函数是这个
void W25QXX_Write(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite);
数据写入是u8* pBuffer,而temp的数据类型是s32,所以肯定不对,那么该怎么改呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
其实你做的已经很接近真相了,U32可以保存在Flash中,对于Flash来说只有数据没有类型之分.只是temp是U32转换为U8*要用&操作符,即(u8*)&temp,代码如下,长度为4,另外注意一下SAVE_ADDR_BASE地址就行了
s32 temp;
temp=tp_dev.xfac*100000000;
W25QXX_Write((u8*)&temp,SAVE_ADDR_BASE,4);
一周热门 更多>