cancel
Showing results for 
Search instead for 
Did you mean: 

DCMI OV2640 High resolution

vlad23
Associate II
Posted on December 03, 2015 at 13:09

I have an evaluation board STM3240G-EVAL with camera OV2640.

I stored camera image in the external SRAM (2 MB).

How I can initialize the camera with a resolution of 1600x1200 (UXGA) in format RGB565?

I want to capture only 100 central lines. For this I use the function:

void DCMI_Read(uint16_t *img, uint32_t dummy, uint32_t rcv, uint32_t sz)

{

  volatile uint32_t data, i;

 

  DCMI-> CR | = DCMI_CR_CAPTURE;

 

  for (i = 0; i < dummy; i + = 2) {

    while (! (DCMI-> SR & DCMI_SR_FNE));

    data = DCMI-> DR;

  }

  for (i = 0; i < rcv;) {

    while (! (DCMI-> SR & DCMI_SR_FNE));

    data = DCMI-> DR;

    img [i++] = (uint16_t) data;

    img [i++] = (uint16_t) (data >> 16);

  }

  for (i = 0; i < sz - (rcv + dummy); i + = 2) {

    while (! (DCMI-> SR & DCMI_SR_FNE));

    data = DCMI-> DR;

  }

}

I am calling this:

DCMI_Read (buf, 550 * 1600 100 * 1600 1200 * 1600);

But when I take the data from the camera, the program hangs and does not take the expected amount of data.

In the case of resolution 320x240 (QVGA) no such problem.
This discussion is locked. Please start a new topic to ask your question.
0 REPLIES 0