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

📄 mp3.i

📁 mega128+VS1003做的mp3的程序 可以用WINAVR编译
💻 I
📖 第 1 页 / 共 3 页
字号:



















































































































































































































































typedef unsigned char                BOOL1;





typedef unsigned short               UINT16;


typedef unsigned long                UINT32;


typedef unsigned char               *PUINT8;


typedef unsigned short              *PUINT16;


typedef unsigned long               *PUINT32;


typedef unsigned char volatile       UINT8V;









































































typedef union _CMD_PARAM {
	struct {
 unsigned char mBuffer[30 ];
	} Other;
	struct {
		UINT32	mDiskSizeSec;
		UINT32	mTotalSector;
		UINT32	mFreeSector;
 unsigned char mDiskFat;
	} Query;
	struct {
 unsigned char mPathName[30 ];
	} Open;
	struct {
 unsigned char mPathName[30 ];
	} Enumer;
	struct {
 unsigned char mUpdateLen;
	} Close;
	struct {
 unsigned char mPathName[30 ];
	} Create;
	struct {
 unsigned char mPathName[30 ];
	} Erase;
	struct {
		UINT32	mFileSize;
		UINT16	mFileDate;
		UINT16	mFileTime;
 unsigned char mFileAttr;
	} Modify;
	struct {
		UINT32	mSectorOffset;
	} Locate;
	struct {
 unsigned char mSectorCount;
	} Read;
	struct {
 unsigned char mSectorCount;
	} Write;
	struct {
 unsigned char mSectorCount;
 unsigned char mReserved[7];
		PUINT8	mDataBuffer;
	} ReadX;
	struct {
 unsigned char mSectorCount;
 unsigned char mReserved[7];
		PUINT8	mDataBuffer;
	} WriteX;
	struct {
		UINT32	mDiskSizeSec;
	} DiskSize;
	struct {
		UINT32	mByteOffset;
	} ByteLocate;
	struct {
 unsigned char mByteCount;
 unsigned char mByteBuffer[(30 - 1 ) ];
	} ByteRead;
	struct {
 unsigned char mByteCount;
 unsigned char mByteBuffer[(30 - 1 ) ];
	} ByteWrite;
	union {
		struct {
			UINT32	mCBW_Sig;
			UINT32	mCBW_Tag;
 unsigned char mCBW_DataLen;
 unsigned char mCBW_DataLen1;
 unsigned char mCBW_DataLen2;
 unsigned char mCBW_DataLen3;
 unsigned char mCBW_Flag;
 unsigned char mCBW_LUN;
 unsigned char mCBW_CB_Len;
 unsigned char mCBW_CB_Buf[6];
		} mCBW;
		struct {
			UINT32	mCSW_Sig;
			UINT32	mCSW_Tag;
			UINT32	mCSW_Residue;
 unsigned char mCSW_Status;
 unsigned char mReserved;
		} mCSW;
	} BOC;
} CMD_PARAM;

typedef CMD_PARAM CMD_PARAM_I;
typedef CMD_PARAM *P_CMD_PARAM;

























extern UINT8V	CH375IntStatus;
extern UINT8V	CH375DiskStatus;
extern unsigned char CH375LibConfig;








#line 549 "E:\MP3程序\Main/../Ch375b/CH375HFB.H"
extern unsigned char CH375vDiskFat;
extern unsigned char CH375vSecPerClus;
extern UINT32	CH375vStartCluster;
extern UINT32	CH375vFileSize;
extern UINT32	CH375vCurrentOffset;







































#line 595 "E:\MP3程序\Main/../Ch375b/CH375HFB.H"
extern unsigned char CH375GetVer( void );
extern void		CH375Reset( void );
extern unsigned char CH375Init( void );
extern void		CH375DirtyBuffer( void );
extern unsigned char CH375FileOpen( void );
extern unsigned char CH375FileEnumer( void );
extern unsigned char CH375FileClose( void );
extern unsigned char CH375FileQuery( void );
extern unsigned char CH375FileModify( void );
extern unsigned char CH375FileLocate( void );
extern unsigned char CH375FileReadX( void );

extern unsigned char CH375FileErase( void );
extern unsigned char CH375FileCreate( void );
extern unsigned char CH375FileWriteX( void );
extern unsigned char CH375DiskSize( void );
extern unsigned char CH375DiskQuery( void );


extern unsigned char CH375ByteLocate( void );
extern unsigned char CH375ByteRead( void );

extern unsigned char CH375ByteWrite( void );


extern unsigned char CH375BulkOnlyCmd( void );
extern unsigned char CH375DiskReady( void );
extern unsigned char CH375DiskConnect( void );


#line 630 "E:\MP3程序\Main/../Ch375b/CH375HFB.H"
















void xWriteCH375Cmd(unsigned char mCmd );
void xWriteCH375Data(unsigned char mData );
 unsigned char xReadCH375Data( void );

CMD_PARAM_I mCmdParam;

 unsigned char  DISK_BASE_BUF[512];

 unsigned char  FILE_DATA_BUF[0x0200 ];
 unsigned char CH375FileRead( void )
{
	mCmdParam.ReadX.mDataBuffer = &FILE_DATA_BUF[0];
	return( CH375FileReadX( ) );
}

 unsigned char CH375FileWrite( void )
{
	mCmdParam.WriteX.mDataBuffer = &FILE_DATA_BUF[0];
	return( CH375FileWriteX( ) );
}







void xQueryInterrupt( void )
{
	while (((*(volatile unsigned char *)0x33) & 0x08 ) );
	xWriteCH375Cmd(0x22 );
	CH375IntStatus = xReadCH375Data( );
	if ( CH375IntStatus == 0x16 ) CH375DiskStatus = 0x01;
	else if ( CH375IntStatus == 0x15 ) CH375DiskStatus = 0x02;
}
























































void xWriteToExtBuf(unsigned char mLength )
{
	mLength --;
}

void xReadFromExtBuf(unsigned char mLength )
{
	mLength --;
}



 unsigned char CH375LibInit( void )
{
	CH375LibConfig =( (0 << 7 ) | (0 << 5 ) | (0 << 4 ) | (1 << 2 ) | 1 );
	DISK_BASE_BUF[0] = 0;
	if ( CH375GetVer( ) < 0x29 ) return( 0xFF );
	return( CH375Init( ) );
}








#line 24 "mp3.c"

void mp3_pause(void)
{
while(1);
}
void	mDelaymS( UINT32 ms )
{
	UINT16	i;
	while ( ms -- ) for ( i = 2600; i != 0; i -- );
}

void test_1011(void) ;void mp3_play(char *s);
void main()
{
 unsigned int i;unsigned char t0,data,t1,t2;
Usart_init();
portIni();
DelayIni();
mp3Reset();
mp3SineTest();
test_1011();
while(1);


}


  void test_1011()
  {
   UINT16 data_pointer;unsigned char i;
   while (1)
    {
	data_pointer=0;
	Print_str("mp3\r\n");
    while(data_pointer<4800)
      {
		if((*(volatile unsigned char *)0x30) & 0x01)
        {
{(*(volatile unsigned char *)0x32) &= ~ 0x04;};
        for(i=0;i<32;i++)
               	 	{
    		        spiSend(vsBeepMP3[data_pointer]);
					data_pointer++;
                    }
{(*(volatile unsigned char *)0x32) |= 0x04;};
		if(data_pointer==4799) break;
       }
     }
   }
 }

⌨️ 快捷键说明

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