求助,我画的板子没EEPROM,想把电阻屏的校准值写到外部flash里面,怎么做?

2019-07-20 22:20发布

改了之后存不了,没有写入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,所以肯定不对,那么该怎么改呢?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
zdfwyh
2019-07-21 02:59
本帖最后由 zdfwyh 于 2016-5-10 17:15 编辑

其实你做的已经很接近真相了,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);

一周热门 更多>