工程用了PIC32,想在FLASH中保存用户数据
UINT32 WriteData[4];
UINT32 gBuffer[10];
UINT32 AlarmDataNum;
WriteData[1] = gBuffer[0];
NVMWriteWord((void*)(FlashData1 + (3 * AlarmDataNum) + 1), WriteData[1]);
Delay100ms(5);
WriteData[2] = (gBuffer[2] << 24) | (gBuffer[3] << 16) | (gBuffer[4] << 8) | gBuffer[5];
NVMWriteWord((void*)(FlashData1 + (3 * AlarmDataNum) + 2), WriteData[2]);
Delay100ms(5);
AlarmDataNum ++;
NVMWriteWord((void*)FlashData1,AlarmDataNum);
前两个数据能够写进去数据,而第三句不能正确写入数据写入值为0,
如果把第三句写函数中的AlarmDataNum改为gBuffer[0]或0x1234就可以正确写入。
大家有没有遇到这样的情况,指导一下谢谢
|