📄 main.c
字号:
//====================================================================
// Function: main.c
//====================================================================
#include "spce.h"
extern unsigned int SPR4096_IO_ReadAByte(unsigned long int);
extern void SPR4096_IO_WriteAByte(unsigned long int,unsigned int);
extern void F_SPR4096_IO_Initial(void);
extern void SPR4096_IO_MassErase(void);
void F_GetAddr();
void F_RdResource();
void F_GetData();
void F_Delay();
unsigned int *Str, *eStr;
unsigned int G_Data=0x0000;
char GB_WrData=0x00;
unsigned int GB_Flag=0;
int nRead[50]={0};
unsigned int Addr=0x0000,nData=0;
unsigned int G_GetData_Flag=0x0000;
extern RES_DEMO1_WAV_SA;
extern RES_DEMO1_WAV_EA;
void main()
{
int i;
F_Delay();
SPR4096_IO_MassErase(); //erase the SPR4096
ClearWatchDog();
F_SPR4096_IO_Initial();
F_GetAddr(); //get the head address of the speech file
while(!GB_Flag)
{
F_GetData(); //catch one byte data from speech file
SPR4096_IO_WriteAByte(Addr,GB_WrData); //write data to SPR4096
ClearWatchDog();
Addr++;
}
//=========================================
// check if write successfully
//=========================================
for(i=0;i<80;i++)
{
nRead[i]=SPR4096_IO_ReadAByte(i); //read data from SPR4096
ClearWatchDog();
}
while(1)
{
i=0;
i=0;
i=0;
}
}
//===========================================================================================
// Function Name: F_GetAddr()
// Description : get the head address of the speech file
// Syntax : F_GetAddr();
// Input :
// Output :
//==========================================================================================
void F_GetAddr()
{
Str = (unsigned int *) RES_DEMO1_WAV_SA;
eStr = (unsigned int *) RES_DEMO1_WAV_EA-1;
}
//===========================================================================================
// Function Name: F_RdResource()
// Description : check if read over
// Syntax : F_RdResource();
// Input :
// Output : G_Data
//==========================================================================================
void F_RdResource()
{
if(!(Str==eStr))
{
G_Data = *Str;
Str++;
}
else
{
GB_Flag=0x55;
GB_Flag=0x55;
GB_Flag=0x55;
}
}
//===========================================================================================
// Function Name: F_GetData()
// Description : catch one byte data from speech file
// Syntax : F_GetData();
// Input :
// Output : GB_WrData
//==========================================================================================
void F_GetData()
{
G_GetData_Flag++;
if(G_GetData_Flag==1)
{
F_RdResource();
GB_WrData=(char)G_Data;
}
if(G_GetData_Flag==2)
{
G_Data=G_Data>>8;
GB_WrData=(char)G_Data;
G_GetData_Flag=0;
}
}
//===========================================================================================
// Function Name: F_Delay()
// Description : Delay
// Syntax : F_Delay();
// Input :
// Output :
//==========================================================================================
void F_Delay()
{
int i;
for(i=0;i<=2000;i++)
{
ClearWatchDog();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -