/* Writes more than one byte to the FLASH with a single WRITE cycle (Page WRITE sequence).  */
void sFLASH_WritePage(uint8_t *pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite)
/* Writes more than one byte to the FLASH with a single WRITE cycle (Page WRITE sequence).  */
void sFLASH_WritePage(uint8_t *pBuffer, uint32_t WriteAddr, uint16_t NumByteToWrite)
{
  sFLASH_WriteEnable();
  sFLASH_CS_LOW();
  sFLASH_SendByte(sFLASH_CMD_WRITE);
  sFLASH_SendByte((WriteAddr & 0xFF0000) >> 16);
  sFLASH_SendByte((WriteAddr & 0xFF00) >> 8);
  sFLASH_SendByte(WriteAddr & 0xFF);
  while (NumByteToWrite--)
  {
    sFLASH_SendByte(*pBuffer);
    pBuffer++;
  }
  sFLASH_CS_HIGH();
  sFLASH_WaitForWriteEnd();
}