我的也调不出来。我的代码:
请问一下要怎么写的?
void DataFlashWrite(void)
{
uint32_t * INT32UP;
INT32U i;
INT32UP=(INT32U*)&(sDataFlash.Flags);
SYS_UnlockReg();//解除寄存器写保护
_FMC_ENABLE_ISP();//使能ISP
//刷除
FMC_Erase(DATAFLASH_BEGIN_ADDR);//这会把整个扇区刷掉
//写入
for(i=0;i<sizeof(sDataFlash)/4+1;i++)
{
FMC_Write(DATAFLASH_BEGIN_ADDR+i*4, *INT32UP);
INT32UP++;
}
_FMC_DISABLE_ISP() ;
SYS_LockReg();
}
void DataFlashRead(void)
{
INT32U * INT32UP;
INT32U i;
INT32UP=(INT32U*)&(sDataFlash.Flags);
SYS_UnlockReg();
_FMC_ENABLE_ISP();
for(i=0;i<sizeof(sDataFlash)/4;i++)
{
(*INT32UP)=FMC_Read(DATAFLASH_BEGIN_ADDR+i*4);
INT32UP++;
}
_FMC_DISABLE_ISP() ;
SYS_LockReg();
}
|