www.pudn.com > MP3DIY.rar > user.h
//===================================================================== // Project Name(项目名称): SPCA755 rebuild // File Name(模块名称): user.h // Built Date(创建日期):2004-09-14 // Abstract(模块描述): 用户函数模块 // Revision History(版本信息): // Rev Date Author Comment(修改说明) // 1.0 2004-09-14 XYQ created //====================================================================== //lcm #include "..\LCM\lcd501.h" //===========================user define=============================== extern xdata U8 gc_PLAY_DPC; extern xdata U8 gc_PlayEQMode; extern xdata U8 gc_DSP_Volume; extern idata U8 gc_DOS_ErrorStatus;//lzp add for test //extern xdata U8 ADC_Table[]; //---------------------------------------------------------------------- extern void USER_Remove_USB(void); extern U8 USER_LogFile_ReadWrite(bit tbt_ReadOrWrite); extern void USER_FillSettingInfo(void); extern U16 USER_GetMusicTotalTime(void); extern void USER_GetSettingInfo(void); extern void X_Get_DefaultUserValue(); /*===================================== VARIABLE =======================================*/ extern bit gb_ShowNowSongNumberFG; extern data bit gb_Openfile;//use // For Open file Flag behind the UI-State transition extern data bit _GRecordPauseAndStop; // chamber@030121 Close file when Stop after Pause!! extern data U8 gc_sts; extern data U8 gc_Battery_Detect_Timer;//lyh add extern data U8 gc_USB_Connect;//lyh add extern xdata U8 gc_TheSameLRC;//lyh add extern xdata U8 ADCOldKey1; extern xdata U8 X_G_LRC_HaveGetFirstLyrics;//lyh add extern xdata U8 gc_USR_PowerOffCount;//for poweroff lyh add extern xdata U8 gc_SKeyState;//[2]; extern xdata U8 gc_SPressingKey; extern xdata U8 gc_SKeyHoldCnt;//[2]; extern xdata U8 gc_fileend; extern xdata U8 REC_name[12]; //chchang_11/20/2002 extern xdata U16 G_Currtotalsecond; //chchang_01/17/2003 extern xdata U16 G_APointLRCStartSecond; extern xdata U16 gw_LrcRecentTime;//use lyh add extern data U8 gc_KeyValue; extern data U8 gc_LongKeyDelay; extern idata U8 gc_DOS_ErrorStatus; extern data U8 gc_BlinkTimer; extern data U8 gc_ADCOldKey; extern xdata U8 gc_LrcFileName_Exist; //============================底层会用的UI定义的变量========================= extern U8 code EXT_NameA[]; extern U8 code EXT_NameB[]; extern U8 xdata EXT_NameC[]; extern U8 *code EXT_Name[]; extern xdata U32 gdw_USER_DirClus[K_USER_DIR_NUM]; //========================system define for UI interface=================== extern code U16 USB_VersionCode; extern code U16 DSP_VersionCode; extern code U16 Dos_VersionCode; extern code U16 SYS_VersionCode; extern code U16 ID3_VersionCode; extern code U16 LRC_VersionCode; extern code U16 Nand_VersionCode; extern data U8 gc_BatteryValue; extern data U8 gc_ReadWriteTimeOut; extern data U8 gc_CurrentCard; extern xdata U8 gc_CurrentExistMedia; extern xdata U8 G_CurrentHZK;//0:English 1:GB2312 2:big5 3:Japanese 4:German extern xdata U8 gc_PlayRecordDataBuf[]; extern xdata U8 gc_FileLongName[]; extern data U8 gc_DispTime[]; extern xdata U8 G_USBReadWriteCount; extern xdata U16 gw_FileIndex[]; extern xdata U16 gw_FileTotalNumber[]; extern xdata U32 gdw_DOS_RootDirClus;//xyq040811 extern xdata U32 gdw_UserRsvSectorNum;//xyq040812 extern data bit gb_LrcGetTimeOrNot; extern bit gbt_FindFlag; extern xdata U8 gc_LrcDisplayBuf[]; extern xdata U8 gc_LrcCurrentLen; extern xdata File_FCB gs_File_FCB[]; extern bit _G_USBReadOrWrite_ForUI; extern data System_Struct gs_System_State;//用户不能修改 extern U8 xdata G_USBMSDC_ubRefreshNeeded; extern xdata U8 gc_RECLowBattValue; extern xdata U8 gc_RecLowBattFLag; extern bit gbt_OLEDChipSelected; //-------------------------------- sysinit.h ----------------------------------- extern void Sys_Initialize(); extern void INITIO_Initialize(void); extern void USER_DelayDTms(unsigned char DT);//最大一次延时250ms //---------------------------------update--------------------------------------- extern void USER_ReadReserveBlock(U16 tw_ReserveBLKSector); extern void USER_WriteReserveBlock(U16 tw_ReserveBLKSector); extern void USER_EraseReserveBlock(U16 tw_ReserveBLKSector); //---------------------------------timer and extinterrupt----------------------- extern void INTR_Int0(void); extern void TIMER0_Routine(void); //----------------------------------sysfunction--------------------------------- extern U8 CODEC_DSP_TO_MCU(void); extern U8 CODEC_MCU_TO_DSP(void); extern U8 System_Play(U8 tc_FileHandle); extern U8 System_Pause(void); extern U8 System_Stop(void); extern void System_NextOrPrev(bit tbt_NextOrPrev, U16 tw_NextPrevNumber, U8 tc_FileHandle); extern U8 System_Record(U8 tc_RECType_ASForWAV); extern U8 System_FileFixPoint(U16 tw_CurrentSecond); extern U8 System_FastForBackward(void); extern void System_SetVolume(U8 tc_Volume); extern void System_SetEQ(U8 tc_EQtype); extern void System_SetPlayDPC(U8 tc_PlayDPC); extern U8 System_SetRepeatAB(U8 tc_CurrentABMode); extern U16 UI_GetDispTimeFromDispBuf(); extern void UI_SetDispTimeToDispBuf(U16 tw_Time); extern void USER_MCUClock_Select(U8 tc_MCUClockStep); extern U8 USB_GetState(); extern void USB_DisConnect(); extern void USB_Connect(void); extern void USB_Process(); extern void USB_Reset(); extern void USB_Suspend(); extern U8 System_IdleManage(void); extern U32 USER_Get_SYSInformation(U8 tc_InformationType); extern U8 USER_READSAR(U8 tc_SARChannel); extern void X_EXE_ISP(); extern void User_Set_MuxPinFunc(U8 tc_MuxPinFunc);//设置多功能pin(GPIO)的功能 extern void User_Set_GPIOMode(U8 tc_InputOrOutput); extern void User_Set_P1Mode(U8 tc_InputOrOutput); extern void User_Set_P3Mode(U8 tc_InputOrOutput); extern void User_Write_GPIO(U8 tc_WriteData); extern U8 User_Read_GPIO(void); extern U8 User_Read_MuxPinFunc(void); extern U8 User_Read_GPIOMode(void); extern U8 User_Read_P1Mode(void); extern U8 User_Read_P3Mode(void); U32 USER_Get_SYSInformation(U8 tc_InformationType); U8 USER_Set_SYSInformation(U8 tc_SetInfType,U16 tc_SetInfData); //---------------------------------- fontread ----------------------------------------- extern U8 X_DetectHZK(void); extern void X_HZK_Get_BMP(unsigned char q,unsigned char w,unsigned char *BMP_Buffer); extern unsigned char X_Unicode2ISN(unsigned char *UnicodeArray,bit Convert); //---------------------------------- DOS ----------------------------------------------- extern U8 DOS_Format(void); extern U8 SMC_Initializes(void); U8 SMC_STORAGE_Initialize(void); U8 Dos_GetFileLongName(U8 tc_FileHandle,bit tb_UicodeToISN, U8 * tpc_LongName); U32 DOS_Make_Dir(U8 * tpc_DirName, U32 tdw_DirStartCluster); void USER_Create_Dir(U8 tc_UserDirNum, U32 tdw_DirStartCluster); U8 USER_FindDir(U8 tc_UserDirNum, U32 tdw_DirStartCluster); U8 DOS_AppendWrite_File(U8 tc_FileHandle); U8 DOS_Close_File(U8 tc_FileHandle, U8 tc_CloseMode, U8 * tpc_FileName); U8 DOS_Delete_File(U8 tc_FileHandle); U8 DOS_Open_File(U8 tc_FileHandle, U8 tc_OpenMode, U8 * tpc_FileName); U8 DOS_Read_File(U8 tc_FileHandle); U32 DOS_Seek_File(U8 tc_FileHandle, U32 tdw_SectorNumber); U8 DOS_Write_File(U8 tc_FileHandle); U8 DOS_Search_File(U8 tc_Mode, U8 tc_Type, U8 tc_PrevOrNext); //----------------------------------- ID3 -------------------------------------------- extern U8 UI_GET_ID3INFO(U8 * tpc_ID3buffer); //----------------------------------- LRC -------------------------------------------- extern void X_Get_LRC_TimeStamp(void); extern void X_Get_LRC_Lyrics(void); extern U8 LRCName_IsExist(); //------------------------------------------------------------------------------------ extern void UI_PreProcessor_scan_key(void);// lyh add extern void UI_Processorstate_transition(void);// lyh add extern void UI_EventPostDpc(void);//lyh add //void VolUpDown();//lyh add extern void UI_FastForBackward();//lyh add extern void Rep_AB();//lyh add extern void UI_Close_File();//lyh add extern void Playing_To_Stop();//lyh add extern void UI_Exe_Format();//lyh add extern void UI_Disp_Page0();//lyh add extern void UI_Refresh_DispAll(bit DispFileName);//lyh add extern U8 UI_StorageIsError();//lyh add extern void UI_idle_Display();//lyh add extern void UI_RollFileName();//lyh add extern void UI_GetFileNameLength();//lyh add extern bit Func10_CheckLRC();//lyh add extern void UI_FFFR(bit XFFFR);//lyh add extern void UI_GetMusicInfo();//lyh add extern void UI_Connect_USB();//lyh add extern void UI_Battery_Detect_ND_Display();//lyh add extern void LED_Blink(void);//lyh add extern void X_RandomGetFileIndex(void);//lyh add //=============================================AudioCodec============================================ void Audio_CoDec(void);//lyh add void Main_Get_FreeMemory();//lyh add //===============================user layer========================================================== extern void CardDetectInUsb(void); extern xdata U8 MlunSequence[]; #if ((K_CARD_TYPE &0x02)== 0x02) extern U8 xdata gc_MlunCardType; extern data bit gb_USBCardST0; extern data bit gb_USBCardST1; #endif extern void USER_Remove_USB(void); extern U8 USB_PlugDetect(void); extern void ftest() ; //=====================================LYH ADD NOW========================================================== //=================Txt.h===lyh add===================================================================== extern xdata U32 gdw_TxtFileStartCluster;//lyh add extern xdata U32 gdw_TxtFileCurrentCluster; extern xdata U16 gw_TxtOffset; extern xdata U32 gdw_TxtFilePointer; extern xdata U32 gdw_TxtFileSize; extern xdata U8 gc_TxtDisplayBuf[41]; extern xdata U8 gc_TxtCurrentLen; extern xdata U8 gc_TheSameTXT; extern xdata U8 gc_DownorUp; extern xdata U8 gc_OffsetByte; extern U8 data gc_PeriphStep; U8 X_Get_Txt(void); bit X_Get_Txt_Offset(void); U8 X_TxtFile_ReadToSram(U8 tb_ReadNextSector); void X_Display_TxtBackPage(void);//lyh add void X_Display_TxtPrePage(void);//lyh add U8 X_DisPlay_InASector(void);//lyh add U8 ShowTheFirstLcd();//lyh add void X_Open_TheNextTxt();//lyh add void X_Open_ThePreTxt();//lyh add //================================== USBMSDC.H ======================================= extern void Usb_WriteProtectInitio(U8 tc_LockKeySts);//tc_LockKeySts 0: NO_protect 1:protect//add new extern void Usb_WriteProtectFunc(U8 tc_LockKeySts);//add new extern void System_SetFMVolume(U8 tc_Volume);//SET the FM DAC GAIN VALUE extern U8 System_FMInit(U8 tc_EncodeType); extern U16 USER_Get_File_BitRate(U8 tc_Handle); extern U8 USER_ReadReserveBlockData_To_OLED(U32 tdw_StartByteAddr,U32 tdw_ByteNum);