⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 exam(chiese).txt

📁 该软件为在sunplus的61单片机上实现的mp3播放器.里面有完整的源代码.
💻 TXT
📖 第 1 页 / 共 4 页
字号:
C程序头文件定义
/*C**************************************************************************
* 文件名:       filename.c
*----------------------------------------------------------------------------
* 版权:        (c) 2004 TGE.
*----------------------------------------------------------------------------
* 释放:         Spce061A      
* 版本:         1.0     
*----------------------------------------------------------------------------
* 目的:
* This is the demonstration software for SPCE061A
*****************************************************************************/

/*_____    包括     ________________________________________________________*/

/*_____    宏       ________________________________________________________*/

/*_____    定义     ________________________________________________________*/

/*_____    声明     ________________________________________________________*/





H Header Example
/*H**************************************************************************
* 文件名:       filename.h         
*----------------------------------------------------------------------------
* 版权          (c) 2004 TGE.
*----------------------------------------------------------------------------
* 释放:         Spce061A      
* 版本:         1.13     
*----------------------------------------------------------------------------
* 目的:
* 
*****************************************************************************/

/*_____    包括     ________________________________________________________*/

/*_____    宏       ________________________________________________________*/

/*_____    定义     ________________________________________________________*/

/*_____    声明     ________________________________________________________*/


Function Example
/*F**************************************************************************
* 函数名: Function Name
*----------------------------------------------------------------------------
* 入口参数:
*
* 返回:
*   
*   
*----------------------------------------------------------------------------
* 目的: 
*   
*----------------------------------------------------------------------------
* 范例:
*----------------------------------------------------------------------------
* 注意:
*----------------------------------------------------------------------------
* 需要S:
*****************************************************************************/


//      BOT FSM
//      IDLE Stage ->  CBW -> CBW Proc -> DATA OUT Stage -> CSW Proc -> CSW Stage -> IDLE
//      IDLE Stage ->  CBW -> CBW Proc -> DATA IN Stage -> CSW Proc -> CSW Stage -> IDLE
//      STALL Stage ->  IDLE
//
		
	if(bEPPflags.bits.Ep2_ReceiveDataFlag==1)
		{
			bEPPflags.bits.Ep2_ReceiveDataFlag = 0;				//清标志
			// CBW Proc
			if( BOTFSM_IDLE )
				TPBulk_CBWHandler();
			// Data Out Stage	
			if(BOTFSM_DataOut)
				{					
					if(BOTXfer_wResidue >= 64)
						{
						  //BOTXfer_wResidue-=64;
						  EP2Len=F_D12_ReadEndpointAndClrD12Int(4, 64,BOTXfer_pData);
						  BOTXfer_wResidue-=EP2Len;		
						  BOTXfer_pData+=EP2Len;				 
						}
					else
						{// Data Recive Over
						  EP2Len=F_D12_ReadEndpointAndClrD12Int(4, 64,BOTXfer_pData);						  
						  BOTXfer_wResidue-=EP2Len;	
						  if(BOTXfer_wResidue>0)
						  	{//Ho>Do
						  		;
						  	}
						  else if(BOTXfer_wResidue<0)
						  	{//Ho<Do
						  		;
						  	}
						  else
						    {//Ho=Do
						    	if(BOTXfer_atNF)
						    	{
					  			 NF_PageProgram(g_RWaddress, g_RWBuf);						  			 
						    	 TPBulk_CSWHandler();
						    	 BOTXfer_atNF=FALSE;
						    	 StallAtBulkOut=FALSE;
						    	 }
						    }
						 }
				}
					
				
		}
		while(BOTFSM_DataIn)
		{
			if(BOTXfer_wResidue>64)
			{
				bEPPflags.bits.Ep2_SendDataFlag=0;
				F_D12_WriteEndpoint(5,64,BOTXfer_pData);//回送数据
				BOTXfer_pData+=64;
				BOTXfer_wResidue-=64;	
				while(!bEPPflags.bits.Ep2_SendDataFlag);//Wait Send Over
			}
			else
			{
				bEPPflags.bits.Ep2_SendDataFlag=0;
				F_D12_WriteEndpoint(5,BOTXfer_wResidue,BOTXfer_pData);//回送数据
				BOTXfer_wResidue=0;		
				TPBulk_CSWHandler();				
				while(!bEPPflags.bits.Ep2_SendDataFlag);//Wait Send Over				 
			}					
		}

		if(BOTFSM_CSW)
		  {
		  	bEPPflags.bits.Ep2_SendDataFlag=0;
			F_D12_WriteEndpoint(5,BOTXfer_wResidue,BOTXfer_pData);//回送数据
			BOTXfer_wResidue=0;		
			BOTFSMstate=USBFSM4BOT_IDLE;
			while(!bEPPflags.bits.Ep2_SendDataFlag);			
		  }







const unsigned int block0[512]=
  { /* block[0] is MBR*/
    0xfa,0x33,0xc0,0x8e,0xd0,0xbc,0x00,0x7c,
    0x8b,0xf4,0x50,0x07,0x50,0x1f,0xfb,0xfc,
    0xbf,0x00,0x06,0xb9,0x00,0x01,0xf2,0xa5,
    0xea,0x1d,0x06,0x00,0x00,0xbe,0xbe,0x07,
    0xb3,0x04,0x80,0x3c,0x80,0x74,0x0e,0x80,
    0x3c,0x00,0x75,0x1c,0x83,0xc6,0x10,0xfe,
    0xcb,0x75,0xef,0xcd,0x18,0x8b,0x14,0x8b,
    0x4c,0x02,0x8b,0xee,0x83,0xc6,0x10,0xfe,
    0xcb,0x74,0x1a,0x80,0x3c,0x00,0x74,0xf4,
    0xbe,0x8b,0x06,0xac,0x3c,0x00,0x74,0x0b,
    0x56,0xbb,0x07,0x00,0xb4,0x0e,0xcd,0x10,
    0x5e,0xeb,0xf0,0xeb,0xfe,0xbf,0x05,0x00,
    0xbb,0x00,0x7c,0xb8,0x01,0x02,0x57,0xcd,
    0x13,0x5f,0x73,0x0c,0x33,0xc0,0xcd,0x13,
    0x4f,0x75,0xed,0xbe,0xa3,0x06,0xeb,0xd3,
    0xbe,0xc2,0x06,0xbf,0xfe,0x7d,0x81,0x3d,
    0x55,0xaa,0x75,0xc7,0x8b,0xf5,0xea,0x00,
    0x7c,0x00,0x00,0x49,0x6e,0x76,0x61,0x6c,
    0x69,0x64,0x20,0x70,0x61,0x72,0x74,0x69,
    0x74,0x69,0x6f,0x6e,0x20,0x74,0x61,0x62,
    0x6c,0x65,0x00,0x45,0x72,0x72,0x6f,0x72,
    0x20,0x6c,0x6f,0x61,0x64,0x69,0x6e,0x67,
    0x20,0x6f,0x70,0x65,0x72,0x61,0x74,0x69,
    0x6e,0x67,0x20,0x73,0x79,0x73,0x74,0x65,
    0x6d,0x00,0x4d,0x69,0x73,0x73,0x69,0x6e,
    0x67,0x20,0x6f,0x70,0x65,0x72,0x61,0x74,
    0x69,0x6e,0x67,0x20,0x73,0x79,0x73,0x74,
    0x65,0x6d,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x01,
    0x01,0x00,0x04,0x01,0x20,0x3f,0x01,0x00,
    0x00,0x00,0xa0,0x0f,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x55,0xaa
  };
const unsigned int block1[512]= 
  { 0xeb,0x3e,0x90,0x2a,0x38,0x52,0x4e,0x61,
    0x49,0x48,0x43,0x00,0x02,0x40,0x01,0x00,
    0x02,0x20,0x00,0xa0,0x0f,0xf8,0x01,0x00,
    0x20,0x00,0xff,0x00,0x01,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x80,0x00,0x29,0x58,
    0x2d,0x19,0x2b,0x4e,0x4f,0x20,0x4e,0x41,
    0x4d,0x45,0x20,0x20,0x20,0x20,0x46,0x41,
    0x54,0x31,0x36,0x20,0x20,0x20,0xf1,0x7d,
    0xda,0x33,0xc9,0x8e,0xd1,0xbc,0xfc,0x7b,
    0x16,0x07,0xbd,0x78,0x00,0xc5,0x76,0x00,
    0x1e,0x56,0x16,0x55,0xbf,0x22,0x05,0x89,
    0x7e,0x00,0x89,0x4e,0x02,0xb1,0x0b,0xfc,
    0xf3,0xa4,0x06,0x1f,0xbd,0x00,0x7c,0xc6,
    0x45,0xfe,0x0f,0x8b,0x46,0x18,0x88,0x45,
    0xf9,0xfb,0x38,0x66,0x24,0x7c,0x04,0xcd,
    0x13,0x72,0x3c,0x8a,0x46,0x10,0x98,0xf7,
    0x66,0x16,0x03,0x46,0x1c,0x13,0x56,0x1e,
    0x03,0x46,0x0e,0x13,0xd1,0x50,0x52,0x89,
    0x46,0xfc,0x89,0x56,0xfe,0xb8,0x20,0x00,
    0x8b,0x76,0x11,0xf7,0xe6,0x8b,0x5e,0x0b,
    0x03,0xc3,0x48,0xf7,0xf3,0x01,0x46,0xfc,
    0x11,0x4e,0xfe,0x5a,0x58,0xbb,0x00,0x07,
    0x8b,0xfb,0xb1,0x01,0xe8,0x94,0x00,0x72,
    0x47,0x38,0x2d,0x74,0x19,0xb1,0x0b,0x56,
    0x8b,0x76,0x3e,0xf3,0xa6,0x5e,0x74,0x4a,
    0x4e,0x74,0x0b,0x03,0xf9,0x83,0xc7,0x15,
    0x3b,0xfb,0x72,0xe5,0xeb,0xd7,0x2b,0xc9,
    0xb8,0xd8,0x7d,0x87,0x46,0x3e,0x3c,0xd8,
    0x75,0x99,0xbe,0x80,0x7d,0xac,0x98,0x03,
    0xf0,0xac,0x84,0xc0,0x74,0x17,0x3c,0xff,
    0x74,0x09,0xb4,0x0e,0xbb,0x07,0x00,0xcd,
    0x10,0xeb,0xee,0xbe,0x83,0x7d,0xeb,0xe5,
    0xbe,0x81,0x7d,0xeb,0xe0,0x33,0xc0,0xcd,
    0x16,0x5e,0x1f,0x8f,0x04,0x8f,0x44,0x02,
    0xcd,0x19,0xbe,0x82,0x7d,0x8b,0x7d,0x0f,
    0x83,0xff,0x02,0x72,0xc8,0x8b,0xc7,0x48,
    0x48,0x8a,0x4e,0x0d,0xf7,0xe1,0x03,0x46,
    0xfc,0x13,0x56,0xfe,0xbb,0x00,0x07,0x53,
    0xb1,0x04,0xe8,0x16,0x00,0x5b,0x72,0xc8,
    0x81,0x3f,0x4d,0x5a,0x75,0xa7,0x81,0xbf,
    0x00,0x02,0x42,0x4a,0x75,0x9f,0xea,0x00,
    0x02,0x70,0x00,0x50,0x52,0x51,0x91,0x92,
    0x33,0xd2,0xf7,0x76,0x18,0x91,0xf7,0x76,
    0x18,0x42,0x87,0xca,0xf7,0x76,0x1a,0x8a,
    0xf2,0x8a,0x56,0x24,0x8a,0xe8,0xd0,0xcc,
    0xd0,0xcc,0x0a,0xcc,0xb8,0x01,0x02,0xcd,
    0x13,0x59,0x5a,0x58,0x72,0x09,0x40,0x75,
    0x01,0x42,0x03,0x5e,0x0b,0xe2,0xcc,0xc3,
    0x03,0x18,0x01,0x27,0x0d,0x0a,0x49,0x6e,
    0x76,0x61,0x6c,0x69,0x64,0x20,0x73,0x79,
    0x73,0x74,0x65,0x6d,0x20,0x64,0x69,0x73,
    0x6b,0xff,0x0d,0x0a,0x44,0x69,0x73,0x6b,
    0x20,0x49,0x2f,0x4f,0x20,0x65,0x72,0x72,
    0x6f,0x72,0xff,0x0d,0x0a,0x52,0x65,0x70,
    0x6c,0x61,0x63,0x65,0x20,0x74,0x68,0x65,
    0x20,0x64,0x69,0x73,0x6b,0x2c,0x20,0x61,
    0x6e,0x64,0x20,0x74,0x68,0x65,0x6e,0x20,
    0x70,0x72,0x65,0x73,0x73,0x20,0x61,0x6e,
    0x79,0x20,0x6b,0x65,0x79,0x0d,0x0a,0x00,
    0x49,0x4f,0x20,0x20,0x20,0x20,0x20,0x20,
    0x53,0x59,0x53,0x4d,0x53,0x44,0x4f,0x53,
    0x20,0x20,0x20,0x53,0x59,0x53,0x80,0x01,
    0x00,0x57,0x49,0x4e,0x42,0x4f,0x4f,0x54,
    0x20,0x53,0x59,0x53,0x00,0x00,0x55,0xaa
  };
const unsigned int block2[512]=  
  { 0xf8,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  };
const unsigned int block3[512]=  
  { 0xf8,0xff,0xff,0xff,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
    0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  };

/* CHS DEFINE */
const Uchar nbCylinder = 500;
const Uchar nbHead = 4;
const Uchar nbSector = 16;
const Uchar nbSectorPerCluster = 32;

#define MBR 			FATDW1.FAT_MBR
#define DBR 			FATDW1.FAT_DBR
void FormatFAT16()
{
	FATDW FATDW1;
	unsigned int i,j;
	Ulong totalSector;
	totalSector = nbCylinder * nbHead * nbSector;

	NF_EraseAllBlock();		//Nf_Format Command
	NF_PageProgram((1*512),&block0);
	NF_PageProgram((2*512),&block1);	
	NF_PageProgram((3*512),&block2);	
	NF_PageProgram((4*512),&block3);			
		for(j=0; j<42; j++)
			{
			 for(i=0; i<512; i++)
				FATDW1.FAT_GU[i]=0x00;
			 NF_PageProgram((5*512)+(j*512),(unsigned int )&FATDW1.FAT_GU);	
			}		
	
//  Creat Main Boot Record	
	for (i=0; i<446; i++)
		MBR.bootcode[i]=0x00;
//  Creat 1st Partition Entry
	  /* Boot Flag */
		MBR.PT1[0]=0x80;	//BootFlag (00-Non Active, 80 - Active)
      /* Start CHS */		
		MBR.PT1[1]=0x00;   //Strat Head -> 1st Head
		MBR.PT1[2]=0x01;   //Strat	Sector -> 1st Sector
		MBR.PT1[3]=0x00;   //Strat Cylinder -> 0 Cylinder
	 /*	System ID */
		MBR.PT1[4]=0x04;   //SystemID -> FAT16			
	 /* End CHS */
		MBR.PT1[5]=nbHead-1;   							//End Head -> 1st Head
		MBR.PT1[6]=((nbCylinder >> 2) & 0xc0) | nbSector;  //End Sector -> 1st Sector
		MBR.PT1[7]=(nbCylinder & 0xff);   					//End Cylinder -> 0 Cylinder	 		
	 /* Relative Sectors */
	 	MBR.PT1[8]=0x01;
	 	MBR.PT1[9]=0x00;
	 	MBR.PT1[10]=0x00;
	 	MBR.PT1[11]=0x00;
	 /* TotalSectors */
	 	MBR.PT1[12]=totalSector & 0xff;
	 	MBR.PT1[13]=(totalSector >> 8) & 0xff;
	 	MBR.PT1[14]=(totalSector >> 16) & 0xff;
	 	MBR.PT1[15]=(totalSector >> 24) & 0xff;
//  Creat 2nd Partition Entry
		for(i=0; i<16; i++)
			MBR.PT2[i]=0x00;
//  Creat 3th Partition Entry
		for(i=0; i<16; i++)
			MBR.PT3[i]=0x00;
//  Creat 4th Partition Entry
		for(i=0; i<16; i++)
			MBR.PT4[i]=0x00;
//  Creat Signature Word(0x55aa)
		MBR.EndingFlag[0]=0x55;
		MBR.EndingFlag[1]=0xaa;	
//  Add NandFlash Page Write Code	
	 	NF_PageProgram(0x0000,&FATDW1.FAT_GU[0]);
	return ;		 	
//  Creat System Boot Record
	 /* Jump Boot */
		DBR.bJmpBoot[0]=0xEB;
		DBR.bJmpBoot[1]=0x3C;
		DBR.bJmpBoot[2]=0x90;
	 /* OEM Name */
	 	DBR.bOEMName[0]='O';
	 	DBR.bOEMName[1]='E';	 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -