adv7180.c

来自「ADI blackfin DSP的基于device friver的jpeg压缩算」· C语言 代码 · 共 89 行

C
89
字号
#include "adv7180.h"
#include "I2C.h"

//asm(".Section sdram_code_coreA;");

void init_adv7180(void)
{
	long delay_time;
	u8 temp;
	int i = 0;

	// configure RESET flag as output
	//*pFIO0_DIR |=  (1 << ADV7180_SCL) | (1 << ADV7180_SDATA);
	//ssync();
	

	//*********************************************************************//
	
	bool ret = true;

	// Init I2C for ADV7181 Indent addr.
	if (I2C_Init(ADV7180_IDENT))
		ret = EJ_ERR_UNKNOWN;

	temp = 0x80;
	I2C_Write(&temp, 0x0F,1);//RESET,第9个脉冲不会有ack

		
	for (delay_time = 0; delay_time < (ADV7180_Reset_Delay); delay_time++)
			asm("nop;");//复位需要延时2ms
	
/*	temp = 0x24;
	if (I2C_Write(&temp, 0x0F,1))//RESET置0
		ret = EJ_ERR_UNKNOWN;
*/			
	temp = 0x00;
	if (I2C_Write(&temp, 0x1D,1))
		ret = EJ_ERR_UNKNOWN;
	temp = 0x01;
	if (I2C_Write(&temp, 0x00,1))//设置输入为AIN1信号为cvbs,此为默认状态,可不写
		ret = EJ_ERR_UNKNOWN;
	temp = 0x57;
	if (I2C_Write(&temp, 0x04,1))//enable SFL
		ret = EJ_ERR_UNKNOWN;
	temp = 0x41;
	if (I2C_Write(&temp, 0x17,1))//select SH1
		ret = EJ_ERR_UNKNOWN;
	temp = 0x02;
	if (I2C_Write(&temp, 0x31,1))//clear NEWAV_MODE,SAV/EAV to suit ADV video encodes
		ret = EJ_ERR_UNKNOWN;
	temp = 0xA2;
	if (I2C_Write(&temp, 0x3D,1))//MWE enable manual windows,color kill threshold to 2
		ret = EJ_ERR_UNKNOWN;
	temp = 0x6A;
	if (I2C_Write(&temp, 0x3E,1))//BLM optimization
		ret = EJ_ERR_UNKNOWN;
	temp = 0xA0;
	if (I2C_Write(&temp, 0x3F,1))//BGB optimization
		ret = EJ_ERR_UNKNOWN;
	temp = 0x80;
	if (I2C_Write(&temp, 0x0E,1))//Hidden space
		ret = EJ_ERR_UNKNOWN;
	temp = 0x81;
	if (I2C_Write(&temp, 0x55,1))//ADC configuration
		ret = EJ_ERR_UNKNOWN;
	temp = 0x00;
	if (I2C_Write(&temp, 0x0E,1))//user space
		ret = EJ_ERR_UNKNOWN;

/*	temp = 0x04;
	if (I2C_Write(&temp, 0x0F,0x00))//RESET
		ret = EJ_ERR_UNKNOWN;		
*/
	// If Error.
	/*if (ret == EJ_ERR_UNKNOWN)
	{
		while(1)
		{
			idle();
		}
	}	
	*/
	//延时,以便在打开PPI之前锁住信号
	for (i = 0; i < (ADV7180_Lock*5); i++)
	{
		asm volatile("nop; nop; nop;");	
	}
}

⌨️ 快捷键说明

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