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

📄 ov2640.c

📁 君正早期ucos系统(只有早期的才不没有打包成库),MPLAYER,文件系统,图片解码,浏览,电子书,录音,想学ucos,识货的人就下吧 russblock fmradio explore set
💻 C
📖 第 1 页 / 共 3 页
字号:
	sensor_write_reg(0xa6, 0x00);	sensor_write_reg(0xa7, 0x20);	sensor_write_reg(0xa7, 0xd8);	sensor_write_reg(0xa7, 0x1b);	sensor_write_reg(0xa7, 0x31);	sensor_write_reg(0xa7, 0x00);	sensor_write_reg(0xa7, 0x18);	sensor_write_reg(0xa7, 0x20);	sensor_write_reg(0xa7, 0xd8);	sensor_write_reg(0xa7, 0x19);	sensor_write_reg(0xa7, 0x31);	sensor_write_reg(0xa7, 0x00);	sensor_write_reg(0xa7, 0x18);	sensor_write_reg(0xa7, 0x20);	sensor_write_reg(0xa7, 0xd8);	sensor_write_reg(0xa7, 0x19);	sensor_write_reg(0xa7, 0x31);	sensor_write_reg(0xa7, 0x00);	sensor_write_reg(0xa7, 0x18);	sensor_write_reg(0xc0, 0xc8);	sensor_write_reg(0xc1, 0x96);	sensor_write_reg(0x86, 0x3d);	sensor_write_reg(0x50, 0x00);	sensor_write_reg(0x51, 0x90);	sensor_write_reg(0x52, 0x18);	sensor_write_reg(0x53, 0x00);	sensor_write_reg(0x54, 0x00);	sensor_write_reg(0x55, 0x88);	sensor_write_reg(0x57, 0x00);	sensor_write_reg(0x5a, 0x90);	sensor_write_reg(0x5b, 0x18);	sensor_write_reg(0x5c, 0x05);	sensor_write_reg(0xc3, 0xef);	sensor_write_reg(0x7f, 0x00);	sensor_write_reg(0xda, 0x00);	sensor_write_reg(0xe5, 0x1f);	sensor_write_reg(0xe1, 0x67);	sensor_write_reg(0xe0, 0x00);	sensor_write_reg(0xdd, 0x7f);	sensor_write_reg(0x05, 0x00);	/***************************/	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0xe0, 0x04);	sensor_write_reg(0xc0, 0xc8);	sensor_write_reg(0xc1, 0x96);	sensor_write_reg(0x86, 0x3d);	sensor_write_reg(0x50, 0x92);	sensor_write_reg(0x51, 0x90);	sensor_write_reg(0x52, 0x2c);	sensor_write_reg(0x53, 0x00);	sensor_write_reg(0x54, 0x00);	sensor_write_reg(0x55, 0x88);	sensor_write_reg(0x57, 0x00);	sensor_write_reg(0x5a, 0x50);	sensor_write_reg(0x5b, 0x3c);	sensor_write_reg(0x5c, 0x00);	sensor_write_reg(0xd3, 0x04);	sensor_write_reg(0xe0, 0x00);}/* QVGA when SVGA mode */void init_ov2640_qvga_svga(void) {	sensor_write_reg(0xff, 0x01);	sensor_write_reg(0x12, 0x80);	mdelay(1000);	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0x2c, 0xff);	sensor_write_reg(0x2e, 0xdf);	sensor_write_reg(0xff, 0x01);	sensor_write_reg(0x3c, 0x32);	sensor_write_reg(0x11, 0x01);//	sensor_write_reg(0x11, 0x04);//	sensor_write_reg(0x11, 0x80);//	sensor_write_reg(0x11, 0x00);	sensor_write_reg(0x09, 0x00);	sensor_write_reg(0x04, 0x28);	sensor_write_reg(0x13, 0xe5);	sensor_write_reg(0x14, 0x48);	sensor_write_reg(0x2c, 0x0c);	sensor_write_reg(0x33, 0x78);	sensor_write_reg(0x3a, 0x33);	sensor_write_reg(0x3b, 0xfb);	sensor_write_reg(0x3e, 0x00);	sensor_write_reg(0x43, 0x11);	sensor_write_reg(0x16, 0x10);	sensor_write_reg(0x39, 0x92);	sensor_write_reg(0x35, 0xda);	sensor_write_reg(0x22, 0x1a);	sensor_write_reg(0x37, 0xc3);	sensor_write_reg(0x23, 0x00);	sensor_write_reg(0x34, 0xc0);	sensor_write_reg(0x36, 0x1a);	sensor_write_reg(0x06, 0x88);	sensor_write_reg(0x07, 0xc0);	sensor_write_reg(0x0d, 0x87);	sensor_write_reg(0x0e, 0x41);	sensor_write_reg(0x4c, 0x00);	sensor_write_reg(0x4a, 0x81);	sensor_write_reg(0x21, 0x99);	sensor_write_reg(0x24, 0x40);	sensor_write_reg(0x25, 0x38);	sensor_write_reg(0x26, 0x82);	sensor_write_reg(0x5c, 0x00);	sensor_write_reg(0x63, 0x00);	sensor_write_reg(0x46, 0x22);	sensor_write_reg(0x0c, 0x3c);	sensor_write_reg(0x5d, 0x55);	sensor_write_reg(0x5e, 0x7d);	sensor_write_reg(0x5f, 0x7d);	sensor_write_reg(0x60, 0x55);	sensor_write_reg(0x61, 0x70);	sensor_write_reg(0x62, 0x80);	sensor_write_reg(0x7c, 0x05);	sensor_write_reg(0x20, 0x80);	sensor_write_reg(0x28, 0x30);	sensor_write_reg(0x6c, 0x00);	sensor_write_reg(0x6d, 0x80);	sensor_write_reg(0x6e, 0x00);	sensor_write_reg(0x70, 0x02);	sensor_write_reg(0x71, 0x94);	sensor_write_reg(0x73, 0xc1);	sensor_write_reg(0x12, 0x40);	sensor_write_reg(0x17, 0x11);	sensor_write_reg(0x18, 0x43);	sensor_write_reg(0x19, 0x00);	sensor_write_reg(0x1a, 0x4b);	sensor_write_reg(0x32, 0x09);	sensor_write_reg(0x37, 0xc0);	sensor_write_reg(0x4f, 0xca);	sensor_write_reg(0x50, 0xa8);	sensor_write_reg(0x6d, 0x00);	sensor_write_reg(0x3d, 0x38);//	sensor_write_reg(0x3d, 0x35);	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0xe5, 0x7f);	sensor_write_reg(0xf9, 0xc0);	sensor_write_reg(0x41, 0x24);	sensor_write_reg(0x44, 0x06);	sensor_write_reg(0xe0, 0x14);	sensor_write_reg(0x76, 0xff);	sensor_write_reg(0x33, 0xa0);	sensor_write_reg(0x42, 0x20);	sensor_write_reg(0x43, 0x18);	sensor_write_reg(0x4c, 0x00);	sensor_write_reg(0x87, 0xd0);	sensor_write_reg(0x88, 0x3f);	sensor_write_reg(0xd7, 0x03);//	sensor_write_reg(0xd7, 0x01);	sensor_write_reg(0xd9, 0x10);	sensor_write_reg(0xd3, 0x82);	sensor_write_reg(0xc8, 0x08);	sensor_write_reg(0xc9, 0x80);	sensor_write_reg(0x7c, 0x00);	sensor_write_reg(0x7d, 0x00);	sensor_write_reg(0x7c, 0x03);	sensor_write_reg(0x7d, 0x48);	sensor_write_reg(0x7d, 0x48);	sensor_write_reg(0x7c, 0x08);	sensor_write_reg(0x7d, 0x20);	sensor_write_reg(0x7d, 0x10);	sensor_write_reg(0x7d, 0x0e);	sensor_write_reg(0x90, 0x00);	sensor_write_reg(0x91, 0x0e);	sensor_write_reg(0x91, 0x1a);	sensor_write_reg(0x91, 0x31);	sensor_write_reg(0x91, 0x5a);	sensor_write_reg(0x91, 0x69);	sensor_write_reg(0x91, 0x75);	sensor_write_reg(0x91, 0x7e);	sensor_write_reg(0x91, 0x88);	sensor_write_reg(0x91, 0x8f);	sensor_write_reg(0x91, 0x96);	sensor_write_reg(0x91, 0xa3);	sensor_write_reg(0x91, 0xaf);	sensor_write_reg(0x91, 0xc4);	sensor_write_reg(0x91, 0xd7);	sensor_write_reg(0x91, 0xe8);	sensor_write_reg(0x91, 0x20);	sensor_write_reg(0x92, 0x00);	sensor_write_reg(0x93, 0x06);	sensor_write_reg(0x93, 0xe3);	sensor_write_reg(0x93, 0x03);	sensor_write_reg(0x93, 0x03);	sensor_write_reg(0x93, 0x00);	sensor_write_reg(0x93, 0x02);	sensor_write_reg(0x93, 0x00);	sensor_write_reg(0x93, 0x00);	sensor_write_reg(0x93, 0x00);	sensor_write_reg(0x93, 0x00);	sensor_write_reg(0x93, 0x00);	sensor_write_reg(0x93, 0x00);	sensor_write_reg(0x93, 0x00);	sensor_write_reg(0x96, 0x00);	sensor_write_reg(0x97, 0x08);	sensor_write_reg(0x97, 0x19);	sensor_write_reg(0x97, 0x02);	sensor_write_reg(0x97, 0x0c);	sensor_write_reg(0x97, 0x24);	sensor_write_reg(0x97, 0x30);	sensor_write_reg(0x97, 0x28);	sensor_write_reg(0x97, 0x26);	sensor_write_reg(0x97, 0x02);	sensor_write_reg(0x97, 0x98);	sensor_write_reg(0x97, 0x80);	sensor_write_reg(0x97, 0x00);	sensor_write_reg(0x97, 0x00);	sensor_write_reg(0xa4, 0x00);	sensor_write_reg(0xa8, 0x00);	sensor_write_reg(0xc5, 0x11);	sensor_write_reg(0xc6, 0x51);	sensor_write_reg(0xbf, 0x80);	sensor_write_reg(0xc7, 0x10);	sensor_write_reg(0xb6, 0x66);	sensor_write_reg(0xb8, 0xA5);	sensor_write_reg(0xb7, 0x64);	sensor_write_reg(0xb9, 0x7C);	sensor_write_reg(0xb3, 0xaf);	sensor_write_reg(0xb4, 0x97);	sensor_write_reg(0xb5, 0xFF);	sensor_write_reg(0xb0, 0xC5);	sensor_write_reg(0xb1, 0x94);	sensor_write_reg(0xb2, 0x0f);	sensor_write_reg(0xc4, 0x5c);	sensor_write_reg(0xa6, 0x00);	sensor_write_reg(0xa7, 0x20);	sensor_write_reg(0xa7, 0xd8);	sensor_write_reg(0xa7, 0x1b);	sensor_write_reg(0xa7, 0x31);	sensor_write_reg(0xa7, 0x00);	sensor_write_reg(0xa7, 0x18);	sensor_write_reg(0xa7, 0x20);	sensor_write_reg(0xa7, 0xd8);	sensor_write_reg(0xa7, 0x19);	sensor_write_reg(0xa7, 0x31);	sensor_write_reg(0xa7, 0x00);	sensor_write_reg(0xa7, 0x18);	sensor_write_reg(0xa7, 0x20);	sensor_write_reg(0xa7, 0xd8);	sensor_write_reg(0xa7, 0x19);	sensor_write_reg(0xa7, 0x31);	sensor_write_reg(0xa7, 0x00);	sensor_write_reg(0xa7, 0x18);	sensor_write_reg(0xc0, 0x64);	sensor_write_reg(0xc1, 0x4b);	sensor_write_reg(0x86, 0x1d);	sensor_write_reg(0x50, 0x00);	sensor_write_reg(0x51, 0xc8);	sensor_write_reg(0x52, 0x96);	sensor_write_reg(0x53, 0x00);	sensor_write_reg(0x54, 0x00);	sensor_write_reg(0x55, 0x00);	sensor_write_reg(0x57, 0x00);	sensor_write_reg(0x5a, 0xc8);	sensor_write_reg(0x5b, 0x96);	sensor_write_reg(0x5c, 0x00);	sensor_write_reg(0xc3, 0xef);	sensor_write_reg(0x7f, 0x00);	sensor_write_reg(0xda, 0x00);	sensor_write_reg(0xe5, 0x1f);	sensor_write_reg(0xe1, 0x67);	sensor_write_reg(0xe0, 0x00);	sensor_write_reg(0xdd, 0x7f);	sensor_write_reg(0x05, 0x00);	/***************************/	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0xe0, 0x04);	sensor_write_reg(0xc0, 0x64);	sensor_write_reg(0xc1, 0x4B);	sensor_write_reg(0x8c, 0x00);	sensor_write_reg(0x86, 0x3D);	sensor_write_reg(0x50, 0x89);	sensor_write_reg(0x51, 0xC8);	sensor_write_reg(0x52, 0x96);	sensor_write_reg(0x53, 0x00);	sensor_write_reg(0x54, 0x00);	sensor_write_reg(0x55, 0x00);	sensor_write_reg(0x5a, 0x50);	sensor_write_reg(0x5b, 0x3c);	sensor_write_reg(0x5c, 0x00);	sensor_write_reg(0xd3, 0x04);	sensor_write_reg(0xe0, 0x00);}/* QVGA when SVGA mode */void convert_to_jpeg(void) {	sensor_write_reg(0xff, 0x01);	sensor_write_reg(0x11, 0x01);	sensor_write_reg(0x12, 0x00);	sensor_write_reg(0x3d, 0x34);	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0xe0, 0x14); // jpeg, dvp reset//	sensor_write_reg(0xda, 0x10); // HREF is same as sensor	sensor_write_reg(0xda, 0x12); // HREF = VSYNC	sensor_write_reg(0xe0, 0x00);}void return_from_jpeg(void) {	sensor_write_reg(0xff, 0x01);	sensor_write_reg(0x11, 0x01);	sensor_write_reg(0x12, 0x40);	sensor_write_reg(0x3d, 0x38);	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0xe0, 0x04);	sensor_write_reg(0xda, 0x00);	sensor_write_reg(0xe0, 0x00);}void night_mode(void) {	sensor_write_reg(0xff, 0x01);	sensor_write_reg(0x11, 0x05);}void de_night_mode(void) {	sensor_write_reg(0xff, 0x01);	sensor_write_reg(0x11, 0x01);}void auto_mode(void) {	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0xc7, 0x00);}void sunny_mode(void) {	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0xc7, 0x40);	sensor_write_reg(0xcc, 0x5e);	sensor_write_reg(0xcd, 0x41);	sensor_write_reg(0xce, 0x54);}void cloudy_mode(void) {	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0xc7, 0x40);	sensor_write_reg(0xcc, 0x65);	sensor_write_reg(0xcd, 0x41);	sensor_write_reg(0xce, 0x4f);}void office_mode(void) {	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0xc7, 0x40);	sensor_write_reg(0xcc, 0x52);	sensor_write_reg(0xcd, 0x41);	sensor_write_reg(0xce, 0x66);}void home_mode(void) {	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0xc7, 0x40);	sensor_write_reg(0xcc, 0x42);	sensor_write_reg(0xcd, 0x3f);	sensor_write_reg(0xce, 0x71);}void antique_mode (void) {	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0x7c, 0x00);	sensor_write_reg(0x7d, 0x18);	sensor_write_reg(0x7c, 0x05);	sensor_write_reg(0x7d, 0x40);	sensor_write_reg(0x7d, 0xa6);}void bluish_mode (void) {	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0x7c, 0x00);	sensor_write_reg(0x7d, 0x18);	sensor_write_reg(0x7c, 0x05);	sensor_write_reg(0x7d, 0xa0);	sensor_write_reg(0x7d, 0x40);}void greenish_mode (void) {	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0x7c, 0x00);	sensor_write_reg(0x7d, 0x18);	sensor_write_reg(0x7c, 0x05);	sensor_write_reg(0x7d, 0x40);	sensor_write_reg(0x7d, 0x40);}void reddish_mode (void) {	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0x7c, 0x00);	sensor_write_reg(0x7d, 0x18);	sensor_write_reg(0x7c, 0x05);	sensor_write_reg(0x7d, 0x40);	sensor_write_reg(0x7d, 0xc0);}void black_white_mode (void) {	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0x7c, 0x00);	sensor_write_reg(0x7d, 0x18);	sensor_write_reg(0x7c, 0x05);	sensor_write_reg(0x7d, 0x80);	sensor_write_reg(0x7d, 0x80);}void negative_mode (void) {	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0x7c, 0x00);	sensor_write_reg(0x7d, 0x40);	sensor_write_reg(0x7c, 0x05);	sensor_write_reg(0x7d, 0x80);	sensor_write_reg(0x7d, 0x80);}void black_white_negative_mode (void) {	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0x7c, 0x00);	sensor_write_reg(0x7d, 0x58);	sensor_write_reg(0x7c, 0x05);	sensor_write_reg(0x7d, 0x80);	sensor_write_reg(0x7d, 0x80);}void normal_mode (void) {	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0x7c, 0x00);	sensor_write_reg(0x7d, 0x00);	sensor_write_reg(0x7c, 0x05);	sensor_write_reg(0x7d, 0x80);	sensor_write_reg(0x7d, 0x80);}/* Adjust brightness 1 -> 5 */void adjust_bright (unsigned int level) {	unsigned char val;	val = (unsigned char)((level - 1) * 16);	sensor_write_reg(0xff, 0x00);	sensor_write_reg(0x7c, 0x00);	sensor_write_reg(0x7d, 0x04);	sensor_write_reg(0x7c, 0x09);	sensor_write_reg(0x7d, val);	sensor_write_reg(0x7d, 0x00);}void sensor_read (void) {	int i, val;	for (i = 0; i < sizeof(reg_list)/4; i++) {		printf("reg(0x%02x) = 0x%02x\n", reg_list[i], sensor_read_reg(reg_list[i]));	}}/* * GPIO init for ov2640 */void init_ov2640_gpio(void) {	__gpio_as_output(GPIO_CAM_PWD);	__gpio_as_output(GPIO_CAM_RST);	__gpio_clear_pin(GPIO_CAM_PWD);	mdelay(10);	__gpio_set_pin(GPIO_CAM_RST);	__gpio_clear_pin(GPIO_CAM_RST);	mdelay(10);	__gpio_set_pin(GPIO_CAM_RST);}/* * Sensor Init Routine */int init_sensor(img_param_t *img){	init_ov2640_gpio();	sensor_set_addr(0x60);	sensor_set_clk(10000);	mdelay(10);	if (img->in_width == 320 && img->in_height == 240) {//		init_ov2640_qvga_uxga();		init_ov2640_qvga_svga();		return 0;	}	if (img->in_width == 640 && img->in_height == 480) {		init_ov2640_vga();		return 0;	}	printf("ERROR: input size don't support width = %d, height = %d\n", img->in_width, img->in_height);	return 1;}void output_jpeg(int mode) {    printf(" ============= no  output_jpeg\n");}void output_yuv(void) {    printf(" ============= no output_yuv\n");}#endif

⌨️ 快捷键说明

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