请教SPI_Flash_Write_NoCheck()函数问题~

2019-08-20 18:36发布

void SPI_Flash_Write_NoCheck(u8* pBuffer,u32 WriteAddr,u16 NumByteToWrite)  
{       
 u16 pageremain;   
 pageremain=256-WriteAddr%256; //单页剩余的字节数       
 if(NumByteToWrite<=pageremain)pageremain=NumByteToWrite;//不大于256个字节
 while(1)
 {   
  SPI_Flash_Write_Page(pBuffer,WriteAddr,pageremain);
  if(NumByteToWrite==pageremain)break;//写入结束了||pageremain的值一直就没变,这句判断语句怎么就能判断了?没能理解,求解答。。
   else //NumByteToWrite>pageremain
  {
   pBuffer+=pageremain;
   WriteAddr+=pageremain;     NumByteToWrite-=pageremain;     //减去已经写入了的字节数
   if(NumByteToWrite>256)pageremain=256; //一次可以写入256个字节
   else pageremain=NumByteToWrite;    //不够256个字节了
  }
 };    
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。