cancel
Showing results for 
Search instead for 
Did you mean: 

stm32f756 dcmi - no dcmi interrupts

polimorphic
Associate II
Posted on February 15, 2016 at 11:23

Hi all

Problem exists in custom board with adapted BSP from stm32f7 discovery. For ov2640 sensor I use component library from stm32cubef2.

If 

initiate a

camera with

any resolution

and

begin

transferring

getting

only

one interrupt DMA2_Stream1_IRQHandler

once

.

At the

oscilloscope

vsync

and

hsync

,

PCLK

look good

.

I've tried

everything

nothing helps.

Thanks for any help.

#stm32f7-hal-dcmi
7 REPLIES 7
stm322399
Senior
Posted on February 15, 2016 at 11:39

Does DMA complete successfully, or is there any error reported in status register ?

Once an error happens the channel is disabled.

polimorphic
Associate II
Posted on February 15, 2016 at 11:46

Thanks for your response.

There is no

error

or

a

DMA

or

at

DCMI

I will add

that

I checked

the wiring

, all is ok.

stm322399
Senior
Posted on February 15, 2016 at 13:13

Did you correctly clear status flags during the interrupt handler ? (DMA_FLAG_HTIF1 and/or DMA_FLAG_TCIF1)

polimorphic
Associate II
Posted on February 15, 2016 at 13:28

yes - flags are unset.

I will add

that

I get

dma

interrupt

transfer

complete

, and

at

the

end.

void
DMA2_Stream1_IRQHandler(
void
)
{
BSP_CAMERA_DMA_IRQHandler();
volatile
uint32_t flags = __HAL_DMA_GET_FLAG(hDcmiHandler.DMA_Handle, DMA_FLAG_TCIF1_5 | DMA_FLAG_HTIF1_5 | DMA_FLAG_TEIF1_5 | DMA_FLAG_DMEIF1_5 | DMA_FLAG_FEIF1_5);
if
(flags > 0) {//Never go into

__HAL_DMA_CLEAR_FLAG(hDcmiHandler.DMA_Handle, DMA_FLAG_TCIF1_5 | DMA_FLAG_HTIF1_5 | DMA_FLAG_TEIF1_5 | DMA_FLAG_DMEIF1_5 | DMA_FLAG_FEIF1_5);
}
}

polimorphic
Associate II
Posted on February 15, 2016 at 14:03

I found the problem. One chip pad had no contact.

Very thanks for help .

stm322399
Senior
Posted on February 15, 2016 at 14:06

I don't understand how you known you are getting TCIF while never having (flag>0), please clarify.

It this possible that

BSP_CAMERA_DMA_IRQHandler

has some side effects (disabling interrupt, or DMA, or whatever else) ? You must check the DMA configuration after the interrupt. Does it continue to run ? Does an error happens sometimes later ?
polimorphic
Associate II
Posted on February 15, 2016 at 23:54

>I don't understand how you known you are getting TCIF while never having (flag>0), please clarify.

I saw debugging it. >It this possible that

BSP_CAMERA_DMA_IRQHandler

has some side effects (disabling interrupt, or DMA, or whatever else) ? >You must check the DMA configuration after the interrupt. Does it continue to run ? Does an error happens sometimes later ? yes

dma not want to work after the one interrupt.

I insert test code to application

.

Ok, now all work - it was a hardware problem :) thanks