请问一下原子哥代码的的flash的一个操作,一个等待的问题,谢谢。

2019-07-20 23:22发布

请问一下那个等到最大2s是固定的吗?文档找了一下好像没找到。不知道是不是一定最大2s,还是说原子哥自己的代码规定的2s

u8 STMFLASH_EraseSector(u32 sectoraddr)
{
    u8 res=0;
    res=STMFLASH_WaitDone(200000);//等待上次操作结束,最大2s   
    if(res==0)
    {
        FLASH->CR&=~(3<<8);    //清除PSIZE原来的设置
        FLASH->CR|=2<<8;    //设置为32bit宽,确保VCC=2.7~3.6V之间!!
        FLASH->CR&=~(0X1F<<3);//清除原来的设置
        FLASH->CR|=sectoraddr<<3;//设置要擦除的扇区
        FLASH->CR|=1<<1;    //扇区擦除
        FLASH->CR|=1<<16;    //开始擦除         
        res=STMFLASH_WaitDone(200000);//等待操作结束,最大2s  
        if(res!=1)            //非忙
        {
            FLASH->CR&=~(1<<1);//清除扇区擦除标志.
        }
    }
    return res;
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。