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

📄 main.c

📁 本人下载的电力系统相关资料,具有极其重要的参考价值
💻 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 + -