📄 mp3.i
字号:
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 + -