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

📄 app_dol2function_cpu.c

📁 台湾凌阳方案300万数码相机源代码
💻 C
📖 第 1 页 / 共 2 页
字号:
/*++

Copyright (c) 2001 Sunplus Technology Co., Ltd.

Module Name:

        L1_DoFunction.c

Abstract:

        Select the corresponding L1 L2 Function for USB vendor command        

Environment:

        Keil C51 Compiler

Revision History:

        11/12/2001      YPWang    created                 

--*/

//=============================================================================
//Header file
//=============================================================================
#include "general.h"
#include "App.h"

//=============================================================================
//Symbol
//=============================================================================
//-----------------------------------------------------------------------------
//Constant
//-----------------------------------------------------------------------------

//-----------------------------------------------------------------------------
//Variable
//-----------------------------------------------------------------------------

//=============================================================================
//Program
//=============================================================================

//-----------------------------------------------------------------------------
//App_DoL2Function_Audio
//-----------------------------------------------------------------------------
/*
routine description:
        Do specified Audio L2 Function
arguments:
        L2_FuncID       - L2 Function ID
        ArgBuf  - Pointer to the argument buffer 
return value:
        0x00    - success
*/
UCHAR App_DoL2Function_Audio(UCHAR L2_FuncID, ULONG *ArgBuf)
{
        USHORT* pAC97RegValue;

        switch (L2_FuncID)
        {
                case 0x81:
                        L2_InitAC97();;
                        break; 

                case 0x82:
                        L2_RdAC97Reg((UCHAR)ArgBuf[0], pAC97RegValue);
                        break; 

                case 0x83:
                        L2_WrAC97Reg((UCHAR)ArgBuf[0], (USHORT)ArgBuf[1]);
                        break;

                case 0x85:
                        L2_SetEmbAudCodecVol((UCHAR)ArgBuf[0]);
                        break;                  

                case 0x86:
                        L2_EnableAudStream((UCHAR)ArgBuf[0], (UCHAR)ArgBuf[1]);
                        break; 

                case 0x87:
                        L2_PlayAud((ULONG)ArgBuf[0], (UCHAR)ArgBuf[1], (UCHAR)ArgBuf[2], (UCHAR)ArgBuf[3]);
                        break; 

                case 0x88:
                        L2_RecordAudToDRAM((ULONG)ArgBuf[0], (UCHAR)ArgBuf[1], (UCHAR)ArgBuf[2]);
                        break; 

                case 0x89:
                        L2_PlayAudFromDRAM((ULONG)ArgBuf[0], (UCHAR)ArgBuf[1], (UCHAR)ArgBuf[2], (UCHAR)ArgBuf[3] );
                        break; 

                case 0x8b:
                        //L2_TestAud((ULONG)ArgBuf[0]);
                        break; 

                default:
                        break;
        }

        return L2K_SUCCESS;
}


//-----------------------------------------------------------------------------
//App_DoL2Function_Global
//-----------------------------------------------------------------------------
/*
routine description:
        Do specified Global L2 Function
arguments:
        L2_FuncID       - L2 Function ID
        ArgBuf  - Pointer to the argument buffer 
return value:
        0x00    - success
*/
UCHAR App_DoL2Function_Global(UCHAR L2_FuncID, ULONG *ArgBuf)
{

        switch (L2_FuncID)
        {
                case 0x00:
                        L2_Suspend((UCHAR)ArgBuf[0]);
                        break; 

                default:
                        break;
        }

        return L2K_SUCCESS;
}

//-----------------------------------------------------------------------------
//App_DoL2Function_CDSP
//-----------------------------------------------------------------------------
/*
routine description:
        Do specified CDSP L2 Function
arguments:
        L2_FuncID       - L2 Function ID
        ArgBuf  - Pointer to the argument buffer 
return value:
        0x00    - success
*/
UCHAR App_DoL2Function_CDSP(UCHAR L2_FuncID, ULONG *ArgBuf)
{
        switch (L2_FuncID)
        {
                case 0x00:
                        L2_InitCDSP((UCHAR)ArgBuf[0]);
                        break; 

                default:
                        break;
        }

        return L2K_SUCCESS;
}

//-----------------------------------------------------------------------------
//App_DoL2Function_FM
//-----------------------------------------------------------------------------
/*
routine description:
        Do specified FM L2 Function (06)
arguments:
        L2_FuncID       - L2 Function ID
        ArgBuf  - Pointer to the argument buffer 
return value:
        0x00    - success
*/
UCHAR App_DoL2Function_FM(UCHAR L2_FuncID, ULONG *ArgBuf)
{
        UCHAR  ByteData;
        USHORT WordData;
        //ULONG  LongData;

        switch (L2_FuncID)
        {               
                case 0x00:
                        L2_FlashMode((UCHAR)ArgBuf[0], (UCHAR)ArgBuf[1], (UCHAR)ArgBuf[2]);
                        //PRINT_APP("L2 0600 finish\n");
                        break;

                case 0x01:
                        L2_ReadECC((UCHAR)ArgBuf[0], &ByteData);
                        //PRINT_APP("L2 0601 finish\n");
                        break;

                case 0x02:
                        L2_ClearECC();
                        //PRINT_APP("L2 0602 finish\n");
                        break;

                case 0x03:
                        L2_ECCMode((UCHAR)ArgBuf[0]);
                        //PRINT_APP("L2 0603 finish\n");
                        break;

                case 0x10:
                        L2_NANDInit((UCHAR)ArgBuf[0] , (UCHAR)ArgBuf[1]);
                        //PRINT_APP("L2 0610 finish\n");
                        break;

                case 0x11:
                        L2_NANDSendCmd((UCHAR)ArgBuf[0]);
                        //PRINT_APP("L2 0611 finish\n");
                        break;

                case 0x12:
                        L2_NANDSendAddr((UCHAR)ArgBuf[0],(ULONG)ArgBuf[1]);
                        //PRINT_APP("L2 0612 finish\n");
                        break;

                case 0x13:
                        L2_NANDCheckRdy(&ByteData);
                        //PRINT_APP("L2 0613 finish\n");
                        break;

                case 0x14:
                        L2_NANDWritePort((UCHAR)ArgBuf[0]);
                        //PRINT_APP("L2 0614 finish\n");
                        break;

                case 0x15:
                        L2_NANDReadPort(&ByteData);
                        //PRINT_APP("L2 0615 finish\n");
                        break;

                case 0x16:
                        L2_NANDCompleteOperation();
                        //PRINT_APP("L2 0616 finish\n");
                        break;

                case 0x20:
                        L2_CFInit((UCHAR)ArgBuf[0], (UCHAR)ArgBuf[1], (UCHAR)ArgBuf[2]);
                        //PRINT_APP("L2 0620 finish\n");
                        break;

                case 0x21:
                        L2_CardDetect((UCHAR)ArgBuf[0],&ByteData);
                        //PRINT_APP("L2 0621 finish\n");
                        break;

                case 0x22:
                        L2_CFReset((UCHAR)ArgBuf[0]);
                        //PRINT_APP("L2 0622 finish\n");
                        break;

                case 0x23:
                        L2_CFCheckRdy(&ByteData);
                        //PRINT_APP("L2 0623 finish\n");
                        break;

                case 0x24:
                        L2_CFSetMemA((UCHAR)ArgBuf[0] ,(UCHAR)ArgBuf[1]);
                        //PRINT_APP("L2 0624 finish\n");
                        break;

                case 0x25:
                        L2_CFAttrMemRd((UCHAR)ArgBuf[0],(UCHAR)ArgBuf[1],&ByteData);
                        //PRINT_APP("L2 0625 finish\n");
                        break;

                case 0x26:
                        L2_CFAttrMemWr((UCHAR)ArgBuf[0],(UCHAR)ArgBuf[1],(UCHAR)ArgBuf[2]);
                        //PRINT_APP("L2 0626 finish\n");
                        break;

                case 0x27:
                        L2_CFComMemRd((UCHAR)ArgBuf[0],(UCHAR)ArgBuf[1],&ByteData);
                        //PRINT_APP("L2 0627 finish\n");
                        break;

                case 0x28:
                        L2_CFComMemWr((UCHAR)ArgBuf[0],(UCHAR)ArgBuf[1],(UCHAR)ArgBuf[2]);
                        //PRINT_APP("L2 0628 finish\n");
                        break;

                case 0x29:
                        L2_CFCheckIRQ((UCHAR)ArgBuf[0],&ByteData);
                        //PRINT_APP("L2 0629 finish\n");
                        break;

                case 0x2a:
                        L2_CFSetCsA((UCHAR)ArgBuf[0]);
                        //PRINT_APP("L2 062A finish\n");
                        break;

                case 0x2b:
                        L2_CFSetWordCsAWr((UCHAR)ArgBuf[0], (USHORT)ArgBuf[1]);
                        //PRINT_APP("L2 062B finish\n");
                        break;

                case 0x2c:
                        L2_CFSetWordCsARd((UCHAR)ArgBuf[0], &WordData);
                        //PRINT_APP("L2 062C finish\n");
                        break; 

#ifdef TestModeEn
                case 0xff:
                        L2_TestFlash((UCHAR)ArgBuf[0]);
                        break;
#endif

                default:
                        break;
        }

        return L2K_SUCCESS;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -