www.pudn.com > OS.rar > S320TTS1BIN_Access_byFAT.c, change:2006-03-02,size:1657b


#include "system_head.h" 
#include "component_head.h" 
 
#ifdef C_SND_S320TTS_SUPPORT 
//----------------------------------------------------------------- 
#ifdef TTS320FAT//FAT			xiaolei modify 2006/03/02 
extern LPTR TTS1BIN_Curr_Addr; 
extern LPTR TTS1BIN_Dest_Addr; 
extern unsigned int Frame_Length; 
 
int fs_Handle_S320TTS1=-1;	//when =-1,it say,have't open SP_WORD.200,not need close 
 
//begin address at _TTS1BIN_Curr_DS:_TTS1BIN_Curr_Addr 
void S320TTS1BIN_Access_Init(void) 
{ 
	//fs_Handle_S320TTS1 = SpFSopen(GLPSTR ("a:\\SP_WORD.320"),O_RDWR);	//guili 2005.10.22 
	fs_Handle_S320TTS1 = open(GLPSTR ("a:\\SP_WORD.320"),O_RDWR);		//guili 2005.10.22 
} 
 
//move Frame_Length words from [TTS1BIN_Curr_DS:TTS1BIN_Curr_Addr] to [TTS1BIN_Dest_DS:TTS1BIN_Dest_Addr]	 
//then add Frame_Length to Dest pointer,Curr need not add,because, next time it is cal again 
void S320TTS1BIN_Access_GetData(void) 
{ 
	//SpFSlseek( fs_Handle_S320TTS1, TTS1BIN_Curr_Addr, 0);				//guili 2005.10.22 
	//SpFSread( fs_Handle_S320TTS1, TTS1BIN_Dest_Addr, Frame_Length);	//guili 2005.10.22 
	lseek( fs_Handle_S320TTS1, TTS1BIN_Curr_Addr<<1, 0);				//guili 2005.10.22 
	read( fs_Handle_S320TTS1, TTS1BIN_Dest_Addr<<1, Frame_Length<<1);	//guili 2005.10.22 
	TTS1BIN_Dest_Addr += Frame_Length; 
} 
 
void S320TTS1BIN_Access_End(void) 
{ 
	if(fs_Handle_S320TTS1 != -1) 
	{ 
		//SpFSclose(fs_Handle_S320TTS1);//guili 2005.10.22 
		close(fs_Handle_S320TTS1);		//guili 2005.10.22 
	} 
	fs_Handle_S320TTS1 = -1;	//let user know, this time SP_WORD.200 have closed 
} 
#endif	//FAT 
//----------------------------------------------------------------- 
#endif	//C_SND_S320_SUPPORT