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