就是要求标志位掉电不丢失啊,呵呵直接放FlashRom啊,就是我上面说的意思。
/*************第一个是数组号,第二个是页面,第三个是数组长度***************/
void My_Flash_Write(unsigned int *My_ptr,unsigned int BANK1_WRITE_START_ADDR,unsigned char LEN)
{
unsigned char ii;
unsigned int Address;
__disable_irq();
FMC_Unlock();//跟上面一样,一个吊道理
Address = BANK1_WRITE_START_ADDR;//首地址
for(ii=0;ii<LEN;ii++)
{
FMCStatus = FMC_ProgramWord(Address, *My_ptr);//数据写入
FMC_ClearBitState(FMC_FLAG_EOP | FMC_FLAG_WERR | FMC_FLAG_PERR );//清除标志
Address=Address+4; My_ptr++; my_delay(10);
};
FMC_Lock();//锁定
__enable_irq();
}
|