📄 ov2640.c
字号:
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(0xda, 0x08); //RGB 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_set_addr(0x60); sensor_set_clk(100000); sensor_write_reg(0x0f, 0x1d); sensor_write_reg(0xff, 0x1f);*/}void init_ov2640_uxga(void) /*800*600*/{//;MCLK, 0x24MHZ,, 0xUXGA, 0xYUV, 0xoutput, 0x7.14fps sensor_write_reg(0xff, 0x01); sensor_write_reg(0x12, 0x80); udelay(10000); 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(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, 0x82); sensor_write_reg(0x35, 0x88);//// sensor_write_reg(0x22, 0x0a); sensor_write_reg(0x37, 0x40); sensor_write_reg(0x23, 0x00); sensor_write_reg(0x34, 0xa0); sensor_write_reg(0x36, 0x1a); sensor_write_reg(0x06, 0x02); sensor_write_reg(0x07, 0xc0); sensor_write_reg(0x0d, 0xb7); sensor_write_reg(0x0e, 0x01); 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, 0x3f); 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(0x3d, 0x34); sensor_write_reg(0x5a, 0x57); sensor_write_reg(0x4f, 0xbb); sensor_write_reg(0x50, 0x9c); 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(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, 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);/*88, 0x0f, 0x1d88, 0x0f, 0x1f;, 0xCreated, 0xby, 0xTools, 0x#, 0x99, 0x1600, 0x1200#, 0x98, 0x0, 0x0*/} /* QVGA when UXGA mode */void init_ov2640_qvga_uxga(void) { sensor_write_reg(0xff, 0x01); sensor_write_reg(0x12, 0x80); udelay(10000); 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(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, 0x82); sensor_write_reg(0x35, 0x88); sensor_write_reg(0x22, 0x0a); sensor_write_reg(0x37, 0x40); sensor_write_reg(0x23, 0x00); sensor_write_reg(0x34, 0xa0); sensor_write_reg(0x36, 0x1a); sensor_write_reg(0x06, 0x02); sensor_write_reg(0x07, 0xc0); sensor_write_reg(0x0d, 0xb7); sensor_write_reg(0x0e, 0x01); 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, 0x3f); 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(0x3d, 0x34); sensor_write_reg(0x5a, 0x57); sensor_write_reg(0x4f, 0xbb); sensor_write_reg(0x50, 0x9c); 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(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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -