📄 dosfunc.c
字号:
#include "define.h"
#include "all.h"
//=================================================================
//=================================================================
sfr RamPage = 0x9B;
//-----------------------------------------------------------------
void INITIO_SysGlobalVariable(void);
bit USR_Check_Character(U8 *SourceArray,U8 offset,U8 *CompareArray,U8 Numbyte);
//=======================================================================================
//=================================================================
//================================================================================================
void INITIO_GlobalInitialize(void) USING_0
{
gw_FileIndex[0]=0;
gw_FileIndex[1]=0;
gw_FileIndex[2]=0;
gw_FileTotalNumber[0]=0;
gw_FileTotalNumber[1]=0;
gdw_CARD_TotalSizeMB = 0;//nand TotalSize
gdw_DOS_SectorPerCard = 0;//logic Total sectors
gc_CurrentCard = 0;//lzp add for test
gc_CurrentExistMedia = 0x00;//默认为nand flash一定存在
gc_ReadWriteTimeOut = 0;//storage read write timeout flag
if(USB_Power_Pluged)
{
gc_USB_UI_State = USB_PHY_CONNECT;
} else
{
gc_USB_UI_State = NO_USB;
}
gb_USB_DisconnectFlag = 0;
gdw_FreeClusterNum[0]=0;
gdw_FreeClusterNum[1]=0; //lizhn for search free cluster
gc_ClusBufValidPoint = 0;
gc_ClusBufValidSize = 0;
gc_StartSearchFreeCluster=0; //add by lizhn 040831
gs_System_State.c_OperationState = OPERATION_STATE0_STOP;
gs_System_State.c_Mode = SYSTEM_MODE0_PLAY;
gs_System_State.c_FileHandle = 0;
//gs_File_FCB中FDB逻辑地址和StartCluster初始化
gs_File_FCB[0].dw_FDB_LogAdd = 0;//FDB逻辑地址清0
gs_File_FCB[1].dw_FDB_LogAdd = 0;
gs_File_FCB[2].dw_FDB_LogAdd = 0;
gs_File_FCB[3].dw_FDB_LogAdd = 0;
gs_File_FCB[4].dw_FDB_LogAdd = 0;
gs_File_FCB[5].dw_FDB_LogAdd = 0;
gs_File_FCB[0].dw_File_StartCluster = 0xffffffff;//StartCluster清除为0xffffffff
gs_File_FCB[1].dw_File_StartCluster = 0xffffffff;
gs_File_FCB[2].dw_File_StartCluster = 0xffffffff;
gs_File_FCB[3].dw_File_StartCluster = 0xffffffff;
gs_File_FCB[4].dw_File_StartCluster = 0xffffffff;
gs_File_FCB[5].dw_File_StartCluster = 0xffffffff;
gc_PlayABStateMode = 0;
gc_DOS_Status = 0;//dos error flag
gc_WMA_ErrBitStream = 0;//WMA error flag
gc_ADPCMSampleRate = 0x08;//default is 8K sampling rate
gc_DSPVolume = 50;//DSP default Volume is max
gc_DSPDPCValue = 0x0C;//DSP default DPC is normal
gc_DSPEQMode = 0;////DSP default EQ is normal
gc_DSPSurround = 0;//DSP default Surround is disable
gc_DSP_RECFMInput = 0;//default is Mic in Record
gc_DSPHaveRunFlag = 0;//DSP运行标志清0
gc_DSPFMVolume = 0x08;//初始化FM音量
gc_MCU_ClockStep = K_MCU_HISPEED;//MCU频率初始化
gc_MCU_OldClockStep = K_MCU_HISPEED;
gc_UITabOKError = 0;//用来判断是否该从UITAB中获取PID/VID
gbt_SendDataInRead_disable = 0;//默认为用户读取逻辑扇区时,会先向DSP送数据。
//============
//Mode setup
//============
//---- Defalut is Repeat ALL
gdw_USER_DirClus[0] = 0;//init DVR dir startcluster
gc_End_Of_File = TRUE;
G_CurrentHZK = Language_GB2312;//lzp add for test
gc_HZKExistFlag = 1;
// add in global initial function for saving power
XBYTE[REG_IRAM_GCLKEN] =0xff; // MCU ROM/SRAM gated clock function enable/disable
XBYTE[REG_USBSRAM_CLK_SEL] =0x00; //USB SRAM gated clock function enable/disable
XBYTE[REG_CTRLER_GCLKEN7_0] = 0xff; //Individual module gated clock function enable/disable
XBYTE[REG_CTRLER_GCLKEN12_8] = 0xff; //Individual module gated clock function enable/disable
XBYTE[REG_DSPCTRLER_GCLKDIS] = 0x00; //DSP gated clock function enable/disable
RamPage = 0x00;
}
//-----------------------------------------------------------------------------------------
//initialize current sys variable and Register
//------------------------------------------------------------------------------------------
void INITIO_SysGlobalVariable(void)
{
INITIO_GlobalInitialize();
}
//--------------------------------------------------------------------------------------------
bit USR_Check_Character(U8 *SourceArray,U8 offset,U8 *CompareArray,U8 Numbyte)
{
unsigned char i;
for(i=0;i<Numbyte;i++)
{
if((SourceArray[offset+i]!=CompareArray[i*2]) && (SourceArray[offset+i]!=CompareArray[i*2+1]))
{
return 1;//比较不同
}
}
return 0;//比较相同
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -