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

📄 tvp6000.c

📁 在海尔的DM642开发板实现RF5框架
💻 C
📖 第 1 页 / 共 2 页
字号:
	//S_CARR1
	param = TVP6000_NTSC_CARR1;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_S_CARR1_Reg,&param,1);
	//S_CARR2
    param = TVP6000_NTSC_CARR2;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_S_CARR2_Reg,&param,1);
	//S_CARR3
    param = TVP6000_NTSC_CARR3;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_S_CARR3_Reg,&param,1);
#if 0
	//LINE21O0
    param = TVP6000_NTSC_LINE21O0;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_Line21_O0_Reg,&param,1);
	//LINE21O1
    param = TVP6000_NTSC_LINE21O1;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_Line21_O1_Reg,&param,1);
    //LINE21E0
    param = TVP6000_NTSC_LINE21e0;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_Line21_E0_Reg,&param,1);
    //LINE21E1
    param = TVP6000_NTSC_LINE21e1;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_Line21_E1_Reg,&param,1);
 
	//LN_SEL
     param = TVP6000_NTSC_LN_SEL;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_LN_SEL_Reg,&param,1);
#endif
	//SYNCTRL0
	param =TVP6000_NTSC_SYNCTRL0;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_SYN_CNRTL0_Reg,&param,1);
	//LCML21
	param =TVP6000_NTSC_RCML21;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_RCM_L21_Reg,&param,1);

	//HTRIG0
	param = TVP6000_NTSC_HTRIG0;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_HTRIGGER0_Reg,&param,1);
	//HTRIG1
	param = TVP6000_NTSC_HTRIG1;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_HTRIGGER1_Reg,&param,1);
	
	//VTRIG
	param = TVP6000_NTSC_VTRIG;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_VTRIGGER_Reg,&param,1);
#if 0
	//BMRQ
	param = TVP6000_NTSC_BMRQ;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_BMRQ_Reg,&param,1);
	//EMRQ
	param = TVP6000_NTSC_EMRQ;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_EMRQ_Reg,&param,1);
	//BEMRQ
    param = TVP6000_NTSC_BEMRQ;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_BEMRQ_Reg,&param,1);

    param = TVP6000_NTSC_X2PH;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_X2PH_Reg,&param,1);

    param =TVP6000_NTSC_X1PH;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_X1PH_Reg,&param,1);
	
	//BRCV
    param = TVP6000_NTSC_BRCV;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_BRCV_Reg,&param,1);
	//ERCV
	param = TVP6000_NTSC_ERCV;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_ERCV_Reg,&param,1);	
	//BERCV	
	param = TVP6000_NTSC_BERCV;
	_IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_BERCV_Reg,&param,1);
#endif	
	//set Field length
	param = TVP6000_NTSC_FLEN;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_FLEN_Reg,&param,1);
	//set field active line 
	param = TVP6000_NTSC_FAL;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_FAL_Reg,&param,1);
	//set Last active line 
	param = TVP6000_NTSC_LAL;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_LAL_Reg,&param,1);
	
	param = TVP6000_NTSC_FLAL;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_FLAL_Reg,&param,1);

	//SYN_CTRL1
	param = TVP6000_NTSC_SYNCTRL1;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_SYN_CNRTL1_Reg,&param,1);
#if 0
/***************************************************************/	
/***************************************************************/	
/*---(80 -- 87 & 88 -- 8F)-----------*/
	param = 0x00;	//
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x80, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x81, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x82, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x83, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x84, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x85, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x86, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x87, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x88, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x89, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x8a, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x8b, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x8c, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x8d, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x8e, &param,1);
    _IIC_write(hI2C, _TVP6000_IICADDR, 0x8f, &param,1);
#endif
/***************************************************************/	
/***************************************************************/	
/***************************************************************/	
	param = TVP6000_NTSC_NOSCALE;
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_SCM_Reg,&param,1);
#if 0
	param = 0x00;
	_IIC_write( hI2C, _TVP6000_IICADDR, TVP6000_SLPF_Reg, &param, 1);	
	_IIC_write( hI2C, _TVP6000_IICADDR, TVP6000_SPPL_Reg, &param, 1);		
	_IIC_write( hI2C, _TVP6000_IICADDR, TVP6000_SLPH_Reg, &param, 1);
	_IIC_write( hI2C, _TVP6000_IICADDR, TVP6000_DLPF_Reg, &param, 1);
	_IIC_write( hI2C, _TVP6000_IICADDR, TVP6000_DPPL_Reg, &param, 1);
	_IIC_write( hI2C, _TVP6000_IICADDR, TVP6000_DLPH_Reg, &param, 1);
	_IIC_write( hI2C, _TVP6000_IICADDR, TVP6000_VDTAL_Reg, &param, 1);
	_IIC_write( hI2C, _TVP6000_IICADDR, TVP6000_VDTAH_Reg, &param, 1);
	_IIC_write( hI2C, _TVP6000_IICADDR, TVP6000_HDTAL_Reg, &param, 1);
	_IIC_write( hI2C, _TVP6000_IICADDR, TVP6000_HDTAH_Reg, &param, 1);
	_IIC_write( hI2C, _TVP6000_IICADDR, TVP6000_VOFS_Reg, &param, 1);
	_IIC_write( hI2C, _TVP6000_IICADDR, TVP6000_HOFS_Reg, &param, 1);
	_IIC_write( hI2C, _TVP6000_IICADDR, TVP6000_NLR_Reg, &param, 1);
#endif
    return;
}

/*
 * ======== powerdownTVP6000 ========
 */

static void PowerdownTVP6000(Bool powerDownEnable)
{
	Uint8 param;
	param = TVP6000_NTSC_POWERDOWN;
	  if(!powerDownEnable) {
        param = TVP6000_NTSC_60Hz_COMPOSITE;//0x00;
    }
      /*Put _TVP6000 in power down mode */
    _IIC_write(hI2C, _TVP6000_IICADDR,TVP6000_Mode_Control_Reg,&param,1);
}


/*
 * ======== resetTVP6000 ========
 */
static void ResetTVP6000(void)
{
/***************************************************************/
/* power-up TVP6000                                            */
/***************************************************************/
    PowerdownTVP6000(FALSE);
    return;
}

 


/*
 * ======== TVP6000_close ========
 */
static Int TVP6000_close(EDC_Handle handle) 
{
    Int devId = (Int)handle;


    /*First Check if the Handle is correct */
    if(devId == _TVP6000_IICADDR) {
        /*Put _TVP6000 in power down mode */
        PowerdownTVP6000(TRUE);
        return EDC_SUCCESS;    
    } else 
        return EDC_FAILED;
}

/*
 * ======== TVP6000_ctrl ========
 */
static Int TVP6000_ctrl(EDC_Handle handle, TVP6000_Cmd cmd, Arg param)
{
    Int devId = (Int)handle;


    /*First Check if the Handle is correct */
    if(devId != _TVP6000_IICADDR){
        return EDC_FAILED;        
    }
    switch(cmd) {
        case EDC_CONFIG:
		{
           		 TVP6000_ConfParams *tvp6000Params = (TVP6000_ConfParams *)param;
           		 hI2C = tvp6000Params->hI2C;
			InitTVP6000();            
       	 }
        break;
        case EDC_RESET:
      		  ResetTVP6000();
       	 break;
        case TVP6000_SET_POWERDOWN:
       	 PowerdownTVP6000(TRUE);
       	 break;                 
        case TVP6000_SET_POWERUP:
       	 PowerdownTVP6000(FALSE);
        	break;
        case TVP6000_SET_2XSCALE:  
		{
			TVP6000_ConfParams *tvp6000Params = (TVP6000_ConfParams *)param;
           		SetTVP60002XScale(tvp6000Params);
        	}
        	break;
        case TVP6000_SET_CAPTION : 
		{
			TVP6000_ConfParams *tvp6000Params = (TVP6000_ConfParams *)param;
           		SetTVP6000Caption(tvp6000Params);
        	}
	  	break;
        case TVP6000_SET_ANALOGFORMAT: 
		{
			TVP6000_ConfParams *tvp6000Params = (TVP6000_ConfParams *)param;
           		SetTVP6000AnalogFmat(tvp6000Params);
		}
        	break;
        case TVP6000_SET_USECOLORBAR:
		{
			TVP6000_ConfParams *tvp6000Params = (TVP6000_ConfParams *)param;
			SetTVP6000UseClrBAR(tvp6000Params);
		}
        	break;
        case TVP6000_SET_USER: 
		{
			TVP6000_ConfParams *tvp6000Params = (TVP6000_ConfParams *)param;
			SetTVP6000UserDef(tvp6000Params);
		}
	  	break;
	  default:
	  	break;

	
    }
    return EDC_SUCCESS;        
}


/*
 * ======== TVP6000_open ========
 */
static EDC_Handle TVP6000_open(String devName, Arg optArg)
{
    return (EDC_Handle)_TVP6000_IICADDR;
}




/**************************************************************************/
/* End of file                                                                            */
/**************************************************************************/

⌨️ 快捷键说明

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