Настройки регистра OV2640 для 640x480 VGAC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Настройки регистра OV2640 для 640x480 VGA

Сообщение Anonymous »

Я пытаюсь настроить камеру OV2640, используя регистры, приведенные ниже. К сожалению, я получаю 800x600, а не 640x480. Кроме того, я ожидаю 2 байта на пиксель в режиме YUV422, но я получаю 600 строк и 800 байтов на строку, которые не составляют 2 байта на пиксель.const struct {
uint8_t reg;
uint8_t val;
} ov2640_init_register_values[] = {
// // ===== Reset and select DSP bank =====

///////////////////////////////////////////

{0xFF, 0x00}, // Select DSP
{0x2C, 0xFF}, // Reserved (PLL control)
{0x2E, 0xDF}, // Reserved (PLL control)
{0x00, 0x00},

// Timing and output format
{0xFF, 0x01}, // Select Sensor
{0x3C, 0x32}, // DSP control
{0x11, 0x10}, // Clock prescaler -> divide input clock (user request)
{0x15, 0x32}, // Output format control -> HREF/VSYNC only (no PCLK on sync)
{0x00, 0x00},

// YUV422
{0xFF, 0x00}, // DSP
{0xE0, 0x04}, // reset DVP
{0xC2, 0x08}, // enable DVP
{0xDA, 0x00}, // mode YUV422
{0xD7, 0x01}, // from default github
{0xE1, 0x67}, // from default github
{0xE0, 0x00}, // release reset
{0x00, 0x00},

/////////////////////////////////////////// ESP Source

// REGS TO SVGA
{0xFF, 0x01}, // Sensor
{0x12, 0x40}, // com 7 set SVGA mode
{0x03, 0x0A}, // SET COM1 to default SVGA Output
{0x32, 0x09}, // set reg32 to 0x09 default SVGA parameter
{0x17, 0x11}, // HSTART
{0x18, 0x43}, // HSTOP
{0x19, 0x00}, // VSTART
{0x1A, 0x4B}, // VSTOP
{0x00, 0x00},

{0xFF, 0x00}, // DSP
{0xE0, 0x04}, // Reset DVP
{0xC0, 0x64}, // Sensor resolution Horizontal image size
{0xC1, 0x4B}, // Sensor resolution Vertical image size
{0x8C, 0x00}, // Sensor resolution SizeL - {HSIZE[11], HSIZE[2:0], VSIZE[2:0]}

{0X51, 0xC8}, // HSIZE
{0X52, 0x96}, // VSIZE
{0x53, 0x00}, // XOFFL
{0x54, 0x00}, // YOFFL
{0x55, 0x00}, // VHYX
{0x57, 0x00}, // TEST

{0x86, 0x20 | 0x1D}, // ctrl2 enable DCW, SDE, UV_ADJ, UV_AVG & CMX
{0x50, 0x80}, // CTRL I - LP_DP
{0x00, 0x00},

// SET WINDOW SIZE
{0xFF, 0x00}, // DSP
{0X51, 0xC8}, // HSIZE -> max_x = 200
{0X52, 0x96}, // VSIZE -> max_y = 150
{0x53, 0x00}, // XOFFL -> 0
{0x54, 0x00}, // YOFFL -> 0
{0x55, 0x00}, // VHYX -> 0x00
{0x57, 0x00}, // TEST

// This part is not working for some reason...
{0x5A, 160}, // OUTW (real / 4)
{0x5B, 120}, // OUTH (real / 4)
{0x5C, 0x00}, // [7:4] => zoom speed, [2] => OUTH[8], [1:0] => OUTW[9:8]
{0xD3, 0x02},
{0x00, 0x00},

{0xFF, 0xFF}, // End of table

};


Подробнее здесь: https://stackoverflow.com/questions/797 ... 40x480-vga
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»