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

📄 debug.c

📁 主要用于液晶电视解码,内置51单片机,全部代码用C编写,编译环境为KEILC
💻 C
📖 第 1 页 / 共 5 页
字号:
            break;

        case 0x25:
            printf("\r\ng_bIrNumKeyStart=%x",g_bIrNumKeyStart);
            printf("\r\ng_bIrKeyNumEnd=%x",g_bIrKeyNumEnd);
            printf("\r\ng_bIr100Key=%x",g_bIr100Key);
            break;
#endif
        //case 0x25:
            //g_TVChSearchStartData = MAKEWORD(g_UartCommand.Buffer[_UART_CMD_INDEX2_] , g_UartCommand.Buffer[_UART_CMD_INDEX3_]);
            //break;
        case 0x50:
            // if enable g_bDebugProgStopFlag, the program will halt, and only Uart function will be run
            g_bDebugProgStopFlag = !g_bDebugProgStopFlag;
            if( g_bDebugProgStopFlag )
            {
                putstr("\r\n<Debug>");
                EX0 = 0;
                EX1 = 0;
                hw_SetGreenLed();
            }
            else
            {
                putstr("\r\n<Free>");
                EX0 = 1;
                EX1 = 1;
                hw_ClrGreenLed();
            }
            break;

        // Keypad Emulator ////////////////////
        case 0x63: // Keypad_UP
            MenuProcessKey(BTN_UP);
            break;
        case 0x71: // Keypad_PIP
            MenuProcessKey(BTN_LEFT);
            break;
        case 0x72: // Keypad_LEFT
            MenuProcessKey(BTN_LEFT);
            break;
        case 0x73: // Keypad_MENU
            MenuProcessKey(BTN_Menu);
            break;
        case 0x74: // Keypad_RIGHT
            MenuProcessKey(BTN_RIGHT);
            break;
        case 0x75: // Keypad_SOURCE
            MenuProcessKey(BTN_SourceSwitch);
            break;
        case 0x76: // Keypad_POWER
            MenuProcessKey(BTN_Power);
            break;
        case 0x83: // Keypad_DOWN
            MenuProcessKey(BTN_DOWN);
            break;
        case 0xD2: msVDReset();
            break;
        case 0xD3: msVD_FSM_Reset(PAL_SWITCH_AUTO);
            break;
#if 0//(_DEBUG_TESTCOMMAND_EN_)
        //Ir is Start from 0x90~0xDF,Please don't use 0x90.
        case 0x91: // Ir_
            g_ucIrCode = IRKEY_SLEEP;
            g_bIrDetect = TRUE;
            break;
        case 0x92:
            g_ucIrCode = IRKEY_1;
            g_bIrDetect = TRUE;
            break;
        case 0x93:
            g_ucIrCode = IRKEY_4;
            g_bIrDetect = TRUE;
            break;
        case 0x94:
            g_ucIrCode = IRKEY_7;
            g_bIrDetect = TRUE;
            break;
        case 0x95:
            g_ucIrCode = IRKEY_0;
            g_bIrDetect = TRUE;
            break;
        case 0x96:
            g_ucIrCode = IRKEY_FUNCTION;
            g_bIrDetect = TRUE;
            break;
        case 0x97:
            g_ucIrCode = IRKEY_OSD_MENU;
            g_bIrDetect = TRUE;
            break;
        case 0x98:
            //printf("\r\ng_ucPrevMenuPageIndex == %x", g_ucPrevMenuPageIndex);
            printf("\r\ng_ucMenuPageIndex == %x", g_ucMenuPageIndex);
           // printf("\r\ng_ucPrevMenuItemIndex == %x", g_ucPrevMenuItemIndex);
            printf("\r\ng_ucMenuItemIndex == %x", g_ucMenuItemIndex);
           // printf("\r\ng_ucOsdTimeCounter == %x", g_ucOsdTimeCounter);
            break;

    #if 0//( TV_SYSTEM == TV_PAL )
        case 0x99:
            ExecuteKeyEvent(MIA_PAL_PROGRAM_NAME);
            break;
        case 0x9a:
            ExecuteKeyEvent(MIA_PAL_PROGRAM_INSERT);
            break;
        case 0x9b:
            ExecuteKeyEvent(MIA_PAL_PROGRAM_DELETE);
            break;
        case 0x9c:
            ExecuteKeyEvent(MIA_PAL_PROGRAM_OK);
            break;
        case 0x9d:
            ExecuteKeyEvent(MIA_PAL_PROGRAM_CANCEL);
            break;
    #endif

        case 0xA1:
            g_ucIrCode = IRKEY_DISPLAY;
            g_bIrDetect = TRUE;
            break;
        case 0xA2:
            g_ucIrCode = IRKEY_2;
            g_bIrDetect = TRUE;
            break;
        case 0xA3:
            g_ucIrCode = IRKEY_5;
            g_bIrDetect = TRUE;
            break;
        case 0xA4:
            g_ucIrCode = IRKEY_8;
            g_bIrDetect = TRUE;
            break;
        case 0xA5:
            g_ucIrCode = IRKEY_100;
            g_bIrDetect = TRUE;
            break;
        case 0xA6:
            g_ucIrCode = IRKEY_INPUT;
            g_bIrDetect = TRUE;
            break;
        case 0xA7:
            g_ucIrCode = IRKEY_OSD_LEFT;
            g_bIrDetect = TRUE;
            break;
        case 0xA8:
            //g_PalCurChannelData.bAFC_Flag = TRUE;
            //g_PalCurChannelData.bAFC_Doing = TRUE;
            break;

#if TV_ENABLE
        case 0xA9:
        #if 1//(TV_SYSTEM==TV_CHINA)
            chData.wFreq -= 10;
            DevTunerWrite(chData.wFreq);
            printf("\r\n Tuner Pll = %x", chData.wFreq);
        #endif
            break;
        case 0xAA:
        #if 1//(TV_SYSTEM==TV_CHINA)
            chData.wFreq += 10;
            DevTunerWrite(chData.wFreq);
            printf("\r\n Tuner Pll = %x", chData.wFreq);
        #endif
            break;
        case 0xAB:
        #if 1//(TV_SYSTEM==TV_CHINA)
            chData.wFreq -= 1;
            DevTunerWrite(chData.wFreq);
            printf("\r\n Tuner Pll = %x", chData.wFreq);
        #endif
            break;
        case 0xAC:
        #if 1//(TV_SYSTEM==TV_CHINA)
            chData.wFreq += 1;
            DevTunerWrite(chData.wFreq);
            printf("\r\n Tuner Pll = %x", chData.wFreq);
        #endif
#endif

        case 0xB1:
            g_ucIrCode = IRKEY_MTS;
            g_bIrDetect = TRUE;
            break;
        case 0xB2:
            g_ucIrCode = IRKEY_3;
            g_bIrDetect = TRUE;
            break;
        case 0xB3:
            g_ucIrCode = IRKEY_6;
            g_bIrDetect = TRUE;
            break;
        case 0xB4:
            g_ucIrCode = IRKEY_9;
            g_bIrDetect = TRUE;
            break;
        case 0xB5:
        #if 0//( ENABLE_CC_VCHIP )
            g_ucIrCode = IRKEY_CC;
            g_bIrDetect = TRUE;
        #endif
            break;
        case 0xB6:
            g_ucIrCode = IRKEY_ZOOM;
            g_bIrDetect = TRUE;
            break;
        case 0xB7:
            g_ucIrCode = IRKEY_OSD_RIGHT;
            g_bIrDetect = TRUE;
            break;

        case 0xC1:
            g_ucIrCode = IRKEY_MUTE;
            g_bIrDetect = TRUE;
            break;
        case 0xC2:
            g_ucIrCode = IRKEY_VOL_UP;
            g_bIrDetect = TRUE;
            break;
        case 0xC3:
            g_ucIrCode = IRKEY_VOL_DOWM;
            g_bIrDetect = TRUE;
            break;
        case 0xC4:
            g_ucIrCode = IRKEY_CH_UP;
            g_bIrDetect = TRUE;
            break;
        case 0xC5:
            g_ucIrCode = IRKEY_CH_DOWM;
            g_bIrDetect = TRUE;
            break;
        case 0xC6:
            g_ucIrCode = IRKEY_PICMODE;
            g_bIrDetect = TRUE;
            break;
        case 0xC7:
            g_ucIrCode = IRKEY_OSD_DOWM;
            g_bIrDetect = TRUE;
            break;

        case 0xD0:
            g_ucIrCode = IRKEY_POWER;
            g_bIrDetect = TRUE;
            break;
        case 0xD1:
        {
            WORD wStatus = msVDGetSyncStatus();
            PrintVDStatus(wStatus);
            //Test_CalClock(1);
        }
            break;
        case 0xD2: msVDReset();
            break;
        case 0xD3:
            printf("\r\n VdStatus=%x",msVDGetSyncStatus());
            printf("\r\n g_VdInfo.wVideoStatus=%x",g_VdInfo.wVideoStatus);
            break;
        case 0xD5:
            g_ucIrCode = IRKEY_SCANMODE;
            g_bIrDetect = TRUE;
            break;
        case 0xD6:
            g_ucIrCode = IRKEY_SOUNDMODE;
            g_bIrDetect = TRUE;
            break;
        case 0xD7:
            g_ucIrCode = IRKEY_OSD_UP;
            g_bIrDetect = TRUE;
            break;
        case 0xD8:
            //msAutoGeometry(AUTO_TUNE_YUV_COLOR);
            //usrSaveAdcSetting(ADC_SET_YPBPR); // save YPbPr setting(manufactory)
            break;
        case 0xFF:
		GetScale100Value(g_PcSetting.Brightness, 0, 100);
            break;

    #if 0
        case 0xbb:
            ExecuteKeyEvent(MIA_HSYNC);
            break;
    #endif

        // if enable g_bDebugASCIICommandFlag,
        // it means the program is received command that user use ASCII command type in debug tool software.
        // and the program should respond the register value by message type (printf)
        //    test command + 0xF0 -> disable
        //    test command + 0xF1 -> enable
        case 0xF0:
            g_bDebugASCIICommandFlag = _DISABLE;
            break;
        case 0xF1:
            g_bDebugASCIICommandFlag = _ENABLE;
            break;
        case 0xF2:
	     	P4SEL=g_UartCommand.Buffer[_UART_CMD_INDEX2_];
	     	P4IO=g_UartCommand.Buffer[_UART_CMD_INDEX2_];
            printf("\r\n P4 CONTROL=%x",g_UartCommand.Buffer[_UART_CMD_INDEX2_]);
            break;
        case 0xF3:
	     	P4=g_UartCommand.Buffer[_UART_CMD_INDEX2_];
            printf("\r\n P4 =%x",g_UartCommand.Buffer[_UART_CMD_INDEX2_]);
            break;
        case 0xF4:
            printf("\r\n P4 Read Data=%x",P4);
            break;
        case 0xFD:
            PrintModeSetting();
            break;
        case 0xfe: // Display system flag
        /*
            putstr("\r\nSystemInfo:");
            printf("\r\n_ucSysStatus=%x", g_SystemInfo._ucSysStatus);
            printf("\r\n_ucInputSrcType=%x", g_SystemInfo._ucInputSrcType);
            printf("\r\n_inputPortType=%x", g_SystemInfo._inputPortType);
            printf("\r\n_ucSignalColorType=%x", g_SystemInfo._ucSignalColorType);
            */
            break;
        case 0xff55: // Here will never called! For disable some uncall warning
        /*
            i2cReadCurrent(0);
            msOsdSetBrightness(0xff);
            msOsdReadCode( 0 );
            msOsdReadAttr( 0 );
            msAdjustHSC(50,0x80,0x80);
            SetOPLevel(0, 0);*/
            break;
#endif
    }

    msWriteByte( BK0_00_REGBK, ucBank );
}

void uartDecodeCommand(void)
{
    if(_testbit_(g_bUartDetected)) // cehck command flag
    {
        //putstr("\r\nDecode UartCmd");
        if (UART_EXT)
        {
        #if (_DEBUG_EXTDEV_EN_)
            uartDecodeExtCommand();
        #endif
        }
        else
            uartDecodeNormalCommand();
    }
}

#if (_DEBUG_EXTDEV_EN_)
void uartDecodeExtCommand(void)
{
    BYTE i;
    XDATA BYTE acI2cBuf[16];

    {
        switch(UART_EXT_DEV)
        {
        #if 0//(( AUDIO_DECODER_SEL == AUDIO_DECODER_MSP34X0 ) ||( AUDIO_DECODER_SEL == AUDIO_DECODER_MSP34X5 ))
            case DEV_MICRONAS_AUDIO:
            {

⌨️ 快捷键说明

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