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

📄 tvp5105.c

📁 ssd192X_LPC2210_V2.0 LPC2210的16位数据口控制SSD1926
💻 C
字号:
#include "ssd192X.h"#include "i2c.h"#include "tvp5105.h"#include "io.h"int CAM_WIDTH=720;int CAM_HEIGHT=320;int CAM_FRAME_RATE=70;int video_blank_check(void){	UINT8 status;	I2C i2c;	i2c.deviceID=I2C_DEVICE_ID;	i2c.bitRate=1;//  	ssd192X_i2c_init(&i2c);	status= ssd192X_i2c_readb(&i2c, 0x88, SSD_I2C_READ_WO_ACK);  	//     myprintf("vdieo status: %x\n",status);  		if 	(status & 0x06) 		return 0;	else		return 1;		}void cam_hw_init(void){	I2C i2c;	i2c.deviceID=I2C_DEVICE_ID;	i2c.bitRate=1;//	myprintf("DV NTSC\n");  	ssd192X_i2c_init(&i2c);      ssd192X_i2c_writeb(&i2c, 0x0, 0x00);//kevinzhu  0x00 	        ssd192X_i2c_writeb(&i2c, 0x1, 0x15);          ssd192X_i2c_writeb(&i2c, 0x2, 0x00);  	        ssd192X_i2c_writeb(&i2c, 0x3, 0x69);//kevinzhu 0x69        ssd192X_i2c_writeb(&i2c, 0x4, 0x00);//kevinzhu 0x00  	        ssd192X_i2c_writeb(&i2c, 0x5, 0x00);          ssd192X_i2c_writeb(&i2c, 0x6, 0x10);  	        ssd192X_i2c_writeb(&i2c, 0x7, 0x60);          ssd192X_i2c_writeb(&i2c, 0x8, 0x00);  	        ssd192X_i2c_writeb(&i2c, 0x9, 0x8c);          ssd192X_i2c_writeb(&i2c, 0xa ,0xa0);  	        ssd192X_i2c_writeb(&i2c, 0xb, 0x00);          ssd192X_i2c_writeb(&i2c, 0xc, 0x98);  	        ssd192X_i2c_writeb(&i2c, 0xd, 0x47);//kevinzhu 0x47          ssd192X_i2c_writeb(&i2c, 0xe, 0x00);  	        ssd192X_i2c_writeb(&i2c, 0xf, 0x0a);          ssd192X_i2c_writeb(&i2c, 0x10, 0x00);  	        ssd192X_i2c_writeb(&i2c, 0x11, 0x00);  //        ssd192X_i2c_writeb(&i2c, 0x12, 0x00);  //        ssd192X_i2c_writeb(&i2c, 0x13, 0x00);  //        ssd192X_i2c_writeb(&i2c, 0x14, 0x00);  //	        ssd192X_i2c_writeb(&i2c, 0x15, 0x25);          ssd192X_i2c_writeb(&i2c, 0x16, 0x80);  	        ssd192X_i2c_writeb(&i2c, 0x17, 0x00);          ssd192X_i2c_writeb(&i2c, 0x18, 0x00);  	        ssd192X_i2c_writeb(&i2c, 0x19, 0x00);          ssd192X_i2c_writeb(&i2c, 0x1a, 0x1c);//kevinzhu 0x1c  	        ssd192X_i2c_writeb(&i2c, 0x1b, 0x14);          ssd192X_i2c_writeb(&i2c, 0x28, 0x00);  	        ssd192X_i2c_writeb(&i2c, 0x2e, 0x0f);          ssd192X_i2c_writeb(&i2c, 0x2f, 0x01); 	        ssd192X_i2c_writeb(&i2c, 0x30, 0x00); //	myprintf("***********dvd cam hw init\n");	//	SSD_IOW(REG_DV_VMEM_STR_ADDR1_0)= 0x3250; // Set Preview Memory Start Address//	SSD_IOW(REG_DV_VMEM_STR_ADDR2_0)= 0x5820; // Set Preview Memory Start Address//	SSD_IOW(REG_DV_DV0_START_ADDR_0)= 0x3250; // Set Digital Video Window Display Start Address// 	SSD_IOW(REG_DV_DV1_START_ADDR_0)= 0x5820; // Set Digital Video Window Display Start Address  	//note the setting below is assuming a normal DVD player input, 	//with dimension of 720x240 	//the display target window have dimension of 160x120, 	//to demonstrate horizontal and vertical scaling function, 	//the crop window size is set to 640x240	//with horizontal and vertical downscaling of 4 and 2 respectively	//setup the crop window// 	SSD_IOW(REG_DV_HCROP_STR_0)=0x0028;// 	SSD_IOW(REG_DV_VCROP_STR_0)=12;//Philips codec specific 12:NTSC;0 for PAL mode// 	SSD_IOW(REG_DV_HCROP_SIZE_0)=0x0280;//	SSD_IOW(REG_DV_VCROP_SIZE_0)=0x00f0;// 	SSD_IOB(REG_DV_VHDEC_RATIO)=0x02;   // Set horizontal scaling = 4// 	SSD_IOB(REG_DV_VVDEC_RATIO)=0x01;   // Set vertical scaling = 2 	//below registers are something I have no idea.  Please do not touch	SSD_REGWW(REG_DV_NFRAME_POS_0, 0x0002);  // Set Frame Position	SSD_REGWW(REG_DV_HORI_PERIOD_0, 0x0270);  // Set Horizontal Period	//  WriteRegByte(REG_DV_TV_0,0x02);	//  WriteRegByte(REG_DV_TV_1,0x2d);	//  WriteRegByte(REG_DV_TV_2,0x01);	//  WriteRegByte(0x17e, 0x3f);  // DV test	//  WriteRegByte(REG_DV_OP_MODE,0x12);	// below settting for 8 bit DVD mode only	//SSD_REGWB(REG_DV_OP_MODE,0x02);	SSD_REGWB(REG_DV_TV_0,0x02);	SSD_REGWB(REG_DV_TV_1,0x0d);	SSD_REGWB(REG_DV_TV_2,0x01);	SSD_REGWB(REG_VCLK_CONFIG_1,0x04);//real chip =7; FPGA=4//	SSD_IOB(REG_MAIN_WIN_ADDR_OFFSET0)=0x6e;	SSD_REGWB(REG_SPECIAL_EFFECTS,0x40);	SSD_REGWB(REG_DV_FRAME_SAMPLING,0x01);//0x161:1frame per 2frames	//	SSD_IOW(REG_MAIN_WIN_DISP_START_ADDR0)=0x157b;	//SSD_IOL(REG_PCLK_FREQ_RATIO_0)=0x17fff;// 176 x 220 pannel ssd1278// rotate 90 degree//      SSD_IOB(REG_DV_HCROP_STR_0 )=0x8c;//dummy space=(720-440);starting pos= (720-440)/2//      SSD_IOW(REG_DV_HCROP_SIZE_0)=0x1b8;//440=220*2//      SSD_IOB(REG_DV_VCROP_SIZE_0)=0xf0;//240//      SSD_IOB(REG_DV_VHDEC_RATIO )=0x1;//divide 440 by 2 (2^1=2)//      SSD_IOB( REG_DV_VVDEC_RATIO)=0x0;//divide 240 by 1// casio 160x240 panel//	SSD_IOB(REG_DV_HCROP_STR_0 )=40;//(720-640)/2//	SSD_IOW(REG_DV_HCROP_SIZE_0)=640;//640//	SSD_IOB(REG_DV_VCROP_SIZE_0)=0xf0;//240//	SSD_IOB(REG_DV_VHDEC_RATIO )=0x2; // 2^2 = 4 (640/4=160)//	SSD_IOB( REG_DV_VVDEC_RATIO)=0x0; // 2^0 = 1 (240/1=240)/*	myprintf(">>>>>>>>>>>>>>>>>>%X\n",SSD_IOW(REG_DV_HCROP_SIZE_0)); */}void cam_hw_still(void){				// bt656 / field stuff select//	myprintf("**********dvd cam hw still\n");	SSD_REGWB(REG_DV_FRAME_PULSE_WIDTH,0x08);}

⌨️ 快捷键说明

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