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

📄 debug.c

📁 主要用于液晶电视解码,内置51单片机,全部代码用C编写,编译环境为KEILC
💻 C
📖 第 1 页 / 共 5 页
字号:
                    case 6: // DSP
                        msWriteByte(BK0_00_REGBK, 2);
    					if( (UART_CMD_MS_REGINDEX&0x01) == 1 )
    						msVDDSPWriteByte( UART_CMD_MS_REGINDEX-1, msVDDSPReadByte(UART_CMD_MS_REGINDEX-1) );

    					msVDDSPWriteByte( UART_CMD_MS_REGINDEX, UART_CMD_MS_REGDATA );

    					if( (UART_CMD_MS_REGINDEX&0x01) == 0 )
    						msVDDSPWriteByte( UART_CMD_MS_REGINDEX+1, msVDDSPReadByte(UART_CMD_MS_REGINDEX+1) );
                        break;
                    case 0xA: // Debug1
                    {
                        switch(UART_CMD_MS_REGINDEX)
                        {
                            case 0:
                                g_ucmsVDCtl = UART_CMD_MS_REGDATA;
                                break;
                            case 1:
                                g_ucmsVDCtl2 = UART_CMD_MS_REGDATA;
                                break;
                            case 2:
                                g_ucMSVDDebug = UART_CMD_MS_REGDATA;
                                break;
                            case 3:
                                g_ucMSVDDebug2 = UART_CMD_MS_REGDATA;
                                break;
                            case 4:
                                g_ucDebugFlag = UART_CMD_MS_REGDATA;
                                break;
                        }
                        break;
                    } // End of case 0xA

                    case 0x0B: // Debug2
                    {
                        switch(UART_CMD_MS_REGINDEX)
                        {
                        #if(ENABLE_VD_DSP)
                            case 0:
                                g_ucDSP_Ctl = UART_CMD_MS_REGDATA;
                                break;
                          #ifdef DSP_MARIA_DEBUG
                            case 1:
                                g_dspDebugInfoIdx = UART_CMD_MS_REGDATA;
                                break;
                            case 2:
                                g_dspDebugFlag = UART_CMD_MS_REGDATA;
                                break;
                          #endif
                        #endif
                            case 3:
                                //g_wFSCBurstMag = UART_CMD_MS_REGDATA;
                                break;
                            case 4:
                                s_ucFSCBurstOn = UART_CMD_MS_REGDATA;
                                break;
                            case 5:
                                s_ucFSCBurstOff = UART_CMD_MS_REGDATA;
                                break;
                            case 6:
                                //g_ucFSCNoiseMag = UART_CMD_MS_REGDATA;
                                break;
                            case 7:
                                s_ucFSCNoiseOn = UART_CMD_MS_REGDATA;
                                break;
                            case 8:
                                s_ucFSCNoiseOff = UART_CMD_MS_REGDATA;
                                break;
                            case 9:
                                //g_ucFSCPhaseErrorAvg = UART_CMD_MS_REGDATA;
                                break;
                            case 0xA:
                                s_ucFSCPhaseErrorLevelOn = UART_CMD_MS_REGDATA;
                                break;
                            case 0xB:
                                s_ucFSCPhaseErrorLevelOff = UART_CMD_MS_REGDATA;
                                break;

                        }
                        break;
                    }
                }
                if (!g_bDebugASCIICommandFlag) putchar(0xF1);
                break;
            }
            case kRead_MST_Bank_n:
            {
                UART_CMD_MS_REGDATA = 0;
                switch( UART_CMD_MS_BANK )
                {
                    case UART_OSD_BANK:
                        msWriteByte(BK0_00_REGBK, REG_BANK_SCALER);
                        UART_CMD_MS_REGDATA = msReadOSDByte(UART_CMD_MS_REGINDEX);
                        break;
                    case 0:
                    case 1:
                    case 2:
                    case 3:
                    case 4:
                        msWriteByte(BK0_00_REGBK, UART_CMD_MS_BANK);
                        UART_CMD_MS_REGDATA = msReadByte(UART_CMD_MS_REGINDEX);
                        break;
                    case 5: // MCU SFR
                        UART_CMD_MS_REGDATA = sfRegs[UART_CMD_MS_REGINDEX];
                        break;
                    case 6: // DSP
                        msWriteByte(BK0_00_REGBK, 2);
					    UART_CMD_MS_REGDATA = msVDDSPReadByte(UART_CMD_MS_REGINDEX);
                        break;
                    case 0xA:
                    {
                        switch(UART_CMD_MS_REGINDEX)
                        {
                            case 0:
                                UART_CMD_MS_REGDATA = g_ucmsVDCtl;
                                break;
                            case 1:
                                UART_CMD_MS_REGDATA = g_ucmsVDCtl2;
                                break;
                            case 2:
                                UART_CMD_MS_REGDATA = g_ucMSVDDebug;
                                break;
                            case 3:
                                UART_CMD_MS_REGDATA = g_ucMSVDDebug2;
                                break;
                            case 4:
                                UART_CMD_MS_REGDATA = g_ucDebugFlag;
                                break;
                            case 0x10:
                                UART_CMD_MS_REGDATA = msDSP_Std_GetNoiseMag();
                                break;
                            case 0x11:
                                UART_CMD_MS_REGDATA = msDSP_Std_GetBurstMag();
                                break;
                            case 0x12:
                                UART_CMD_MS_REGDATA = msDSP_Std_GetPhaseError();
                                break;
                            case 0x13:
                                UART_CMD_MS_REGDATA = msVD_FSC_GetColorBurstStatus();
                                break;
                            case 0x20:
                                UART_CMD_MS_REGDATA = msVDGetSyncStatus();
                                break;
                            case 0x21:
                                UART_CMD_MS_REGDATA = msVDGetSyncStatus()>>8;
                                break;
                        }
                        break;
                    } // End of case 0xA

                    case 0xB:
                    {
                    #if(ENABLE_VD_DSP)
                      #ifdef DSP_MARIA_DEBUG
                        if( UART_CMD_MS_REGINDEX >= 0x10 && UART_CMD_MS_REGINDEX < 0x50 )
                        {
                            UART_CMD_MS_REGDATA = g_dspDebugInfo[(UART_CMD_MS_REGINDEX-0x10)];
                        }
                        else
                      #endif
                    #endif
                        {
                            switch(UART_CMD_MS_REGINDEX)
                            {
                            #if(ENABLE_VD_DSP)
                                case 0:
                                    UART_CMD_MS_REGDATA = g_ucDSP_Ctl;
                                    break;
                              #ifdef DSP_MARIA_DEBUG
                                case 1:
                                    UART_CMD_MS_REGDATA = g_dspDebugInfoIdx;
                                    break;
                                case 2:
                                    UART_CMD_MS_REGDATA = g_dspDebugFlag;
                                    break;
                              #endif
                            #endif
                                case 3:
                                    UART_CMD_MS_REGDATA = g_wFSCBurstMag;
                                    break;
                                case 4:
                                    UART_CMD_MS_REGDATA = s_ucFSCBurstOn;
                                    break;
                                case 5:
                                    UART_CMD_MS_REGDATA = s_ucFSCBurstOff;
                                    break;
                                case 6:
                                    UART_CMD_MS_REGDATA = g_ucFSCNoiseMag;
                                    break;
                                case 7:
                                    UART_CMD_MS_REGDATA = s_ucFSCNoiseOn;
                                    break;
                                case 8:
                                    UART_CMD_MS_REGDATA = s_ucFSCNoiseOff;
                                    break;
                                case 9:
                                    UART_CMD_MS_REGDATA = g_ucFSCPhaseErrorAvg;
                                    break;
                                case 0xA:
                                    UART_CMD_MS_REGDATA = s_ucFSCPhaseErrorLevelOn;
                                    break;
                                case 0xB:
                                    UART_CMD_MS_REGDATA = s_ucFSCPhaseErrorLevelOff;
                                    break;
                            }
                        }
                        break;
                    }
                } // End of switch( UART_CMD_MS_BANK )

                putchar(0xF2);
                putchar(UART_CMD_MS_REGDATA);
                if (g_bDebugASCIICommandFlag)
                {
                    printf("BK%x", UART_CMD_MS_BANK);
                    printf("[0x%x]=", UART_CMD_MS_REGINDEX);
                    printf("0x%x\r\n", UART_CMD_MS_REGDATA);
                }
                break;
            }
            case kWrite_MST_OSD:
                {
                    msWriteByte(BK0_00_REGBK, REG_BANK_SCALER);
                    msWriteOSDByte(UART_CMD_MS_REG, UART_CMD_MS_DAT);
                    if (!g_bDebugASCIICommandFlag) putchar(0xF1);
                }
                break;
            case kRead_MST_OSD:
                {
                    msWriteByte(BK0_00_REGBK, REG_BANK_SCALER);
                    UART_CMD_MS_DAT = msReadOSDByte(UART_CMD_MS_REG);
                    putchar(0xF2);
                    putchar(UART_CMD_MS_DAT);
                    if (g_bDebugASCIICommandFlag)
                    {
                        printf("OSD[0x%x]=", UART_CMD_MS_REG);
                        printf("0x%x \r\n", UART_CMD_MS_DAT);
                    }
                }
                break;
            case kWrite_MCU:
                {
                    switch (UART_CMD_MS_REG)
                    {
                        case MCU_P0:
                          P0 = UART_CMD_MS_DAT;
                          break;
                        case MCU_P1:
                          P1 = UART_CMD_MS_DAT;;
                          break;
                        case MCU_P2:
                          P2 = UART_CMD_MS_DAT;;
                          break;
                        case MCU_P3:
                          P3 = UART_CMD_MS_DAT;;
                          break;
                        case MCU_P4:
                        #if 1//(MCU_SEL!=MCU_MTV230M)
                            P4 = UART_CMD_MS_DAT;
                        #endif
                            break;
                    #if  1//( MCU_IS_MSTAR||(MCU_SEL==MCU_W77E532) )
                        case MCU_TCON:
                          TCON = UART_CMD_MS_DAT;;
                          break;
                        case MCU_TMOD:
                          TMOD = UART_CMD_MS_DAT;;
                          break;
                        case MCU_PCON:
                          PCON = UART_CMD_MS_DAT;;
                          break;
                        case MCU_IE:
                          IE = UART_CMD_MS_DAT;;
                          break;
                        case MCU_IP:
                          IP = UART_CMD_MS_DAT;;
                          break;
                        case MCU_SCON:
                          SCON = UART_CMD_MS_DAT;;
                          break;
                    #endif
                    }
                    if (!g_bDebugASCIICommandFlag) putchar(0xF1);
                }
              break;
            case kRead_MCU:
                {
                    UART_CMD_MS_DAT = 0;
                    switch (UART_CMD_MS_REG)
                    {
                        case MCU_P0:
                          UART_CMD_MS_DAT = P0;
                          break;
                        case MCU_P1:
                          UART_CMD_MS_DAT = P1;
                          break;
                        case MCU_P2:
                          UART_CMD_MS_DAT = P2;
                          break;
                        case MCU_P3:
                          UART_CMD_MS_DAT = P3;
                          break;
                        case MCU_P4:
                        #if 1//(MCU_SEL!=MCU_MTV230M)
                            UART_CMD_MS_DAT = P4;
                        #endif
                            break;
                    #if 1//( MCU_IS_MSTAR||(MCU_SEL==MCU_W77E532) )
                        case MCU_TCON:
                          UART_CMD_MS_DAT = TCON;
                          break;
                        case MCU_TMOD:
                          UART_CMD_MS_DAT = TMOD;
                          break;
                        case MCU_PCON:
                          UART_CMD_MS_DAT = PCON;
                          break;
                        case MCU_IE:
                          UART_CMD_MS_DAT = IE;
                          break;
                        case MCU_IP:
                          UART_CMD_MS_DAT = IP;
                          break;
                        case MCU_SCON:
                          UART_CMD_MS_DAT = SCON;
                          break;
                    #endif
                    }
                    putchar(0xF2);
                    putchar(UART_CMD_MS_DAT);
                    if (g_bDebugASCIICommandFlag)
                    {
                        printf("0x%x \r\n", UART_CMD_MS_DAT);
                    }
                }
                break;
            case kWrite_MCU_XDATA:
                {
                    XBYTE[MAKEWORD(UART_CMD_MCU_IDX_H, UART_CMD_MCU_IDX_L)] = UART_CMD_MCU_DATA;;
                    if (!g_bDebugASCIICommandFlag) putchar(0xF1);
                }
                break;
            case kRead_MCU_XDATA:
                {
                    UART_CMD_MCU_DATA = XBYTE[MAKEWORD(UART_CMD_MCU_IDX_H, UART_CMD_MCU_IDX_L)];
                    putchar(0xF2);
                    putchar(UART_CMD_MCU_DATA);
                    if (g_bDebugASCIICommandFlag)
                    {
                        printf("0x%x \r\n", UART_CMD_MCU_DATA);
                    }
                }
                break;

#if (_DEBUG_EXTDEV_EN_)
             case kWrite_EEPROM:
                {
                    WORD uwEEADDR;
                    uwEEADDR = MAKEWORD(g_UartCommand.Buffer[_UART_CMD_INDEX1_],g_UartCommand.Buffer[_UART_CMD_INDEX2_]);

⌨️ 快捷键说明

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