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

📄 ov7670.c

📁 ssd192Xv1 液晶驱动程序 驱动程序 彩屏液晶
💻 C
字号:
#include "ssd192X.h"#include "i2c.h"#include "ov7670.h"#if (OV7670_MODE==OV7670_QVGA)int CAM_WIDTH=320;int CAM_HEIGHT=240;#elseint CAM_WIDTH=640;int CAM_HEIGHT=480;#endifint CAM_FRAME_RATE=30;void cam_hw_init(void){	I2C i2c;	SSD_REGWB(REG_VCLK_CONFIG_0,0x03);  // Cam running rate//	SSD_REGWB(REG_VCLK_CONFIG_1,0x07);	SSD_REGWB(REG_VCLK_CONFIG_1,0x17);	// Reset HV7131		SSD_REGWB(REG_DV_ENB,0x01);	// ENB_DV = 1)= RESET_DV = 1	SSD_REGWB(REG_DV_ENB,0x00);	// ENB_DV = 1)= RESET_DV = 0	SSD_REGWB(REG_DV_ENB,0x01);	// ENB_DV = 1)= RESET_DV = 1	i2c.deviceID=I2C_DEVICE_ID;	i2c.bitRate=1;  	ssd192X_i2c_init(&i2c);        mdelay(100);        printk("VER: %x\n",ssd192X_i2c_readb_without_ACK(&i2c,0x0b));        mdelay(100);        printk("PID: %x\n",ssd192X_i2c_readb_without_ACK(&i2c,0x0a));	//Mode	ssd192X_i2c_writeb(&i2c, 0x12, OV7670_MODE);//	ssd192X_i2c_writeb(&i2c, 0x12,0x11);//	ssd192X_i2c_writeb(&i2c, 0x12,0x12);//	ssd192X_i2c_writeb(&i2c, 0x12,0x05);//	ssd192X_i2c_writeb(&i2c, 0x3b,0x80);//	ssd192X_i2c_writeb(&i2c, 0x04,0x40);//	ssd192X_i2c_writeb(&i2c, 0x70,0xca);//	mdelay(100);//	ssd192X_i2c_writeb(&i2c, 0x3a,0x10);//	mdelay(100);//	ssd192X_i2c_writeb(&i2c, 0x67,0xf0);//	mdelay(100);//	ssd192X_i2c_writeb(&i2c, 0x68,0xf0);//	mdelay(100);//	ssd192X_i2c_writeb(&i2c, 0x3d,0xa9);//	mdelay(100);//	ssd192X_i2c_writeb(&i2c, 0xc9,0x80);        //YUV  11//	ssd192X_i2c_writeb(&i2c, 0x3a,0x0c);//	ssd192X_i2c_writeb(&i2c, 0x3d,0x9b);        //YUV  10	mdelay(100);	ssd192X_i2c_writeb(&i2c, 0x3a,0x0c); 	mdelay(100);	ssd192X_i2c_writeb(&i2c, 0x3d,0x99);        //YUV  01//	ssd192X_i2c_writeb(&i2c, 0x3a,0x04);//	ssd192X_i2c_writeb(&i2c, 0x3d,0x9b);        //YUV  00//	ssd192X_i2c_writeb(&i2c, 0x3a,0x04);//	ssd192X_i2c_writeb(&i2c, 0x3d,0x99);        //Scale	mdelay(100);	ssd192X_i2c_writeb(&i2c, 0x0c, 0x08);		//Set YUV format//	ssd192X_i2c_writeb(&i2c, 0x3a, 0x08);}void cam_hw_still(void){#if 0	I2C i2c;		i2c.deviceID=I2C_DEVICE_ID;	i2c.bitRate=1;	ssd192X_i2c_init(&i2c);	ssd192X_i2c_writew(&i2c, 0x0e, CAM_WIDTH);	ssd192X_i2c_writew(&i2c, 0x0c, CAM_HEIGHT);	//set window start position and size	ssd192X_i2c_writew(&i2c, 0x08, 240);	ssd192X_i2c_writew(&i2c, 0x0a, 180);#endif	// bt656 / field stuff select#if 0	printk("BT656 *********\n");	SSD_REGWB(REG_DV_TV_0,0x02);	SSD_REGWB(REG_DV_TV_1,0x0d);	SSD_REGWB(REG_DV_TV_2,0x01);#else	printk("BT601 *********\n");	SSD_REGWB(REG_DV_TV_0,0x12);	SSD_REGWB(REG_DV_TV_1,0x00);	SSD_REGWB(REG_DV_TV_2,0x04);#endif		SSD_REGWW(REG_DV_NFRAME_POS_0, 0x0002);	SSD_REGWW(REG_DV_HORI_PERIOD_0, CAM_WIDTH);	SSD_REGWB(REG_DV_FRAME_PULSE_WIDTH, 0x08);}

⌨️ 快捷键说明

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