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

📄 misc.c

📁 realtek LCD monitor, TV开发源代码
💻 C
📖 第 1 页 / 共 3 页
字号:
    pData[9] = (((BYTE)_PIN_103<<4) | (_PIN_104<<1));
    pData[10] = (((BYTE)_PIN_109<<4) | (_PIN_110));
    pData[11] = (((BYTE)_PIN_111<<4) | (_PIN_112));
    pData[12] = (((BYTE)_PIN_56_57_IIC_ENABLE<<7) | (_PIN_56<<4) | (_PIN_57<<1));
    pData[13] = (((BYTE)_PIN_113<<5) | (_PIN_121_122_DDC3_ENABLE<<4) | (_PIN_121<<2) | (_PIN_122));
    pData[14] = (((BYTE)_PIN_65<<5) | (_PIN_123_124_DDC2_ENABLE<<4) | (_PIN_123<<2) | (_PIN_124));
    pData[15] = (((BYTE)_PIN_72<<5) | (_PIN_114<<2));

    CScalerPageSelect(_PAGEE);
    CScalerWrite(_PE_PIN_SHARE_CTRL03_D7, 16, pData, _AUTOINC);
#endif

#elif((_SCALER_TYPE == _RTD247xRD) || (_SCALER_TYPE == _RTD248xRD))
    pData[0] = (((BYTE)_PIN_31<<6) | (_PIN_32<<4) | (_PIN_33<<2) | (_PIN_34)); // Page 10-A0
    pData[1] = (((BYTE)_PIN_35<<6) | (_PIN_36_37<<4) | (_PIN_41)); // Page 10-A1
    pData[2] = (((BYTE)_PIN_42<<5) | (_PIN_43<<3) | (_PIN_44)); // Page 10-A2
    pData[3] = (((BYTE)_PIN_45<<6) | (_PIN_46<<4) | (_PIN_47<<2) | (_PIN_48)); // Page 10-A3
    pData[4] = (((BYTE)_PIN_50<<5) | (_PIN_51<<3) | (_PIN_55)); // Page 10-A4
    pData[5] = (((BYTE)_PIN_52<<6) | (_PIN_65<<3) | (_PIN_66)); // Page 10-A5
    pData[6] = (((BYTE)_PIN_53<<6) | (_PIN_67<<3) | (_PIN_68)); // Page 10-A6
    pData[7] = (((BYTE)_PIN_54<<6) | (_PIN_69<<3) | (_PIN_70)); // Page 10-A7
    pData[8] = (((BYTE)_PIN_56_57_IIC_ENABLE<<6) | (_PIN_56<<3) | (_PIN_57)); // Page 10-A8
    pData[9] = (((BYTE)_PIN_58_59_DDC1_ENABLE<<6) | (_PIN_58<<3) | (_PIN_59)); // Page 10-A9
    pData[10] = (((BYTE)_PIN_63<<4) | (_PIN_64)); // Page 10-AA
    pData[11] = (((BYTE)_PIN_71<<5) | (_PIN_72<<2) | (_PIN_74to83)); // Page 10-AB
    pData[12] = (((BYTE)_PIN_99<<5) | (_PIN_100<<3) | (_PIN_102)); // Page 10-AC
    pData[13] = (((BYTE)_PIN_96<<6) | (_PIN_103<<3) | (_PIN_104)); // Page 10-AD
    pData[14] = (((BYTE)_PIN_97<<6) | (_PIN_105<<3) | (_PIN_108)); // Page 10-AE
    pData[15] = (((BYTE)_PIN_109<<4) | (_PIN_110to114_MIRROR<<3) | (_PIN_110)); // Page 10-AF

    CScalerPageSelect(_PAGE10);
    CScalerWrite(_P10_PIN_SHARE_CTRL00_A0, 16, pData, _AUTOINC);

    pData[0] = (((BYTE)_PIN_98<<6) | (_PIN_111<<3) | (_PIN_112)); // Page 10-B0
    pData[1] = (((BYTE)_PIN_101<<6) | (_PIN_113<<3) | (_PIN_114)); // Page 10-B1
    pData[2] = (((BYTE)_PIN_119<<5) | (_PIN_121_122_DDC3_ENABLE<<4) | (_PIN_121<<2) | (_PIN_122)); // Page 10-B2
    pData[3] = (((BYTE)_PIN_123_124_DDC2_ENABLE<<7) | (_PIN_123<<5) | (_PIN_124<<3) | (_PIN_126)); // Page 10-B3

    CScalerPageSelect(_PAGE10);
    CScalerWrite(_P10_PIN_SHARE_CTRL10_B0, 4, pData, _AUTOINC);

#elif(_SCALER_TYPE == _RTD2545LR)
    pData[0] = (((BYTE)_PIN_44<<2) | (_PIN_43));

    CScalerPageSelect(_PAGEE);
    CScalerWrite(_PE_PIN_SHARE_CTRL01_D5, 1, pData, _AUTOINC); //Anderson 080131 for Pin Share
#else
    No Setting  !! // cyyeh 20080611
#endif  // End of #if(_SCALER_TYPE == _RTD2472D)
//Anderson 080310 for 247xRD, 248xRD End

}


//----------------------------------------------------------------------------------------------------
// Debug Functions
//----------------------------------------------------------------------------------------------------
//Anderson 080512 for Debug Message Start
//V405 modify Start 20071206 : Debug Message Supported
//--------------------------------------------------
// Description  : ISP process
// Input Value  : None
// Output Value : None
//--------------------------------------------------
void CMiscIspack(void)
{
#if(_DEBUG_TOOL == _ISPACK)

    BYTE ddcdata2in, ddcdata3in;
    BYTE halt = 0;

    do
    {
        CScalerRead(_DDC_STATUS_F8, 1, pData, _NON_AUTOINC);

        if((pData[0] & 0x04) != 0)                      // data latched
        {
            CScalerRead(_DDC_SUB_IN_F5, 2, pData, _AUTOINC);
            //CScalerSetByte(_DDC_STATUS_F8, 0x00);

            if((pData[0] & 0x80) != 0)                  // run or halt command
            {
                CScalerSetByte(_DDC_STATUS_F8, 0x00);
                halt = pData[1];
            }
            else if((pData[0] & 0x40) == 0x40)          // read command
            {
                switch(pData[0] & 0x0f)
                {
                    case(0x04) :                        // read eeprom
                    {
                        CScalerSetByte(_DDC_STATUS_F8, 0x00);
                        CI2cRead(ddcdata2in, pData[1], 1, &pData[13]);
                        CScalerSetByte(_DDC_CTRL_F7, 0x0A);
                        CScalerSetByte(_DDC_DATA_IN_F6, pData[13]);
                        CScalerSetByte(_DDC_CTRL_F7, 0x08);
                    }
                    break;

                    case(0x01):                         //read scalar
                    {
                        CScalerSetByte(_DDC_STATUS_F8, 0x00);
                        CScalerRead(pData[1], 1, &pData[13], _NON_AUTOINC);
                        CScalerSetBit(_DDC_CTRL_F7, ~_BIT2, _BIT2);         //reset index
                        CScalerSetBit(_DDC_CTRL_F7, ~_BIT1, _BIT1);         //change to MCU write
                        CScalerSetByte(_DDC_DATA_IN_F6,pData[13]);
                        CScalerSetBit(_DDC_CTRL_F7, ~_BIT1, 0x00);          //change to pc write
                        CScalerSetBit(_DDC_CTRL_F7, ~_BIT2, _BIT2);         //reset index
                    }
                    break;
                }
            }
            else
            {
                switch (pData[0] & 0x0F)                //Write command
                {
                    case 0x00:
                        CScalerSetByte(_DDC_STATUS_F8, 0x00);
                        CScalerSetByte(ddcdata2in, pData[1]);
                        break;

                    case 0x01:
                    case 0x02:                          // for RTD & I2c Device
                        CScalerSetByte(_DDC_STATUS_F8, 0x00);
                        ddcdata2in = pData[1];
                        break;

                    case 0x06:
                    case 0x03:                          //for I2c Device
                        CScalerSetByte(_DDC_STATUS_F8, 0x00);
                        ddcdata3in = pData[1];
                        break;

                    case 0x04 :                         //for I2c Device
                        CScalerSetByte(_DDC_STATUS_F8, 0x00);
                        CI2cWrite(ddcdata2in, pData[1], 1, &ddcdata3in);
                        break;
                }
            }
        }
    }
    while(halt == 1);

#endif  // End of #if(_DEBUG_TOOL == _ISPACK)


#if(_DEBUG_TOOL == _ISP_FOR_RTD2120)

    BYTE halt = 0;

    do
    {
        if(bRunCommand)
        {
            switch(ucDdcciData[0])
            {
                case 0x80:
                    halt = ucDdcciData[1];

                    break;

                case 0x41:
                    CScalerRead(ucDdcciData[1], 1, pData, _NON_AUTOINC);
                    TxBUF= pData[0];
                    MCU_I2C_DATA_OUT_FF2A = pData[0];
                    break;

                case 0x44:
                    CI2cRead(ucDdcciData[2], ucDdcciData[1], 1, pData);
                    TxBUF = pData[0];
                    MCU_I2C_DATA_OUT_FF2A = pData[0];
                    break;
                default:
                    switch (ucDdcciData[0] & 0x0F)          //Write command
                    {
                        case 0x00:
                            CScalerSetByte(ucDdcciData[2], ucDdcciData[1]);
                            break;

                        case 0x01:
                        case 0x02:                          // for RTD & I2c Device
                            ucDdcciData[2] = ucDdcciData[1];
                            break;

                        case 0x06:
                        case 0x03:                          //for I2c Device
                            ucDdcciData[3] = ucDdcciData[1];
                            break;

                        case 0x04 :                         //for I2c Device
                            CI2cWrite(ucDdcciData[2], ucDdcciData[1], 1, ucDdcciData+3);
                            break;
                    }
                    break;
            }

            bRunCommand=0;
            ucDdcciCommandNumber = 0;
        }
    }
    while(halt != 0);
//Anderson 080512 for Debug Message End

#endif  // End of #if(_DEBUG_TOOL == _ISP_FOR_RTD2120)


#if(_DEBUG_TOOL == _ISP_FOR_EMBEDDED)

    BYTE halt = 0;
//Anderson 080512 for Debug Message Supported Start
    do
    {
        if(bRunCommand)
        {
            switch(ucDdcciData[0])
            {
                case 0x80:
                    halt = ucDdcciData[1];
                    break;

                case 0x41:
                    MCU_I2C_IRQ_CTRL2_FF2A  |= 0x20;
                    CScalerRead(ucDdcciData[1], 1, pData, _NON_AUTOINC);
                    TxBUF= pData[0];
                    MCU_I2C_DATA_OUT_FF26 = pData[0];
                    break;

                case 0x44:
                    MCU_I2C_IRQ_CTRL2_FF2A  |= 0x20;
                    CI2cRead(ucDdcciData[2], ucDdcciData[1], 1, pData);
                    TxBUF = pData[0];
                    MCU_I2C_DATA_OUT_FF26 = pData[0];
                    break;
                default:
                    switch (ucDdcciData[0] & 0x0F)          //Write command
                    {
                        case 0x00:
                            CScalerSetByte(ucDdcciData[2], ucDdcciData[1]);
                            break;

                        case 0x01:
                        case 0x02:                          // for RTD & I2c Device
                            ucDdcciData[2] = ucDdcciData[1];
                            break;

                        case 0x06:
                        case 0x03:                          //for I2c Device
                            ucDdcciData[3] = ucDdcciData[1];
                            break;

                        case 0x04 :                         //for I2c Device
                            CI2cWrite(ucDdcciData[2], ucDdcciData[1], 1, ucDdcciData+3);
                            break;
                    }
                    break;
            }

            bRunCommand=0;
            ucDdcciCommandNumber = 0;
        }
    }
    while(halt != 0);
#endif  // End of #if(_DEBUG_TOOL == _ISP_FOR_EMBEDDED)
//Anderson 080512 for Debug Message Supported End
}


#if(_DEBUG_TOOL == _ISP_FOR_RTD2120)
//--------------------------------------------------
// Description  : ISP for RTD2120 Initial
// Input Value  : None
// Output Value : None
//--------------------------------------------------
void CDdcciInitial(void)
{
//0811 sephinroth start
#if(_DDCCI_SUPPORT == _ON)
    if(GET_FACTORY_MODE())
        MCU_I2C_SET_SLAVE_FF27 = 0x7C;
    else
        MCU_I2C_SET_SLAVE_FF27 = 0x6E;
#else
    MCU_I2C_SET_SLAVE_FF27 = 0x6A;

    MCU_I2C_IRQ_CTRL_FF2C  = 0x3f;
    MCU_PIN_SHARE1_FF01    = MCU_PIN_SHARE1_FF01 | 0x01;
//Anderson 080512 for Debug Message Support Start
#endif
    EA = 1;
    MCU_OPTION_FF38        = 0x80;
    EX0 = 1;
    IE = 0x8e;
#if(_DEBUG_MESSAGE_SUPPORT == _ON)
    CMiscDebugMessage("######    F/W START    ######", _NO_VALUE);
#endif
    CScalerPageSelect(_PAGED);
    CScalerSetByte(_PD_IIC_SET_SLAVE_C3 , 0xab);//1231 sephinroth
    CScalerSetByte(0xc2 , 0x05);                //1231 sephinroth

}
#endif  // End of #if(_DEBUG_TOOL == _ISP_FOR_RTD2120)

⌨️ 快捷键说明

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