是不是下面这个函数? 如果是,那么是否可以认为在等待flash的操作完成,因为flash的写操作和擦出操作都需要一定的时间。所以可能是flash操作出错了。你提问题的时候需要完整的描述下你这里是做什么,为了达到什么目的,这样才比较好分析问题。
static Byte FTFL_FlashCommandSequence(Byte index)
{
Byte* ptrFccobReg = (Byte*)&FTFL_BASE_PTR->FCCOB3;
Byte* ptrCommandObj = (Byte*)&CommandObj;
/* wait till CCIF bit is set */
while((FTFL_FSTAT&FTFL_FSTAT_CCIF_MASK) != FTFL_FSTAT_CCIF_MASK){};
/* clear RDCOLERR & ACCERR & FPVIOL flag in flash status register */
FTFL_FSTAT = FTFL_FSTAT_ACCERR_MASK|FTFL_FSTAT_FPVIOL_MASK|FTFL_FSTAT_RDCOLERR_MASK;