5640摄像头用的原子哥家的,很方便的就实现了,现在想把摄像头改为7740驱动,也经历了一些困难,有几个问题解决不了,想问问大神,我在5640摄像头实验的基础之上修改7740驱动,sccb应该欧式通用的,我没有去修改,dcmi这里我也没有改,因为需要捕获到的数据还是dma给RGB屏显示,一开始显调试sccb是否能通,按照5640的写法不同,肯定也够呛,因为型号都不一样,后来看了手册,在百度了一下,按照读写地址,去读写测试,最后成功通讯,初始化也ok,但是现在问题是,在调试的时候看,会一直捕捉到帧中断,一直会进入void DCMI_IRQHandler(void)
{
HAL_DCMI_IRQHandler(&DCMI_Handler);
}
void HAL_DCMI_FrameEventCallback(DCMI_HandleTypeDef *hdcmi)
{
jpeg_data_process();
LED1_Toggle;
ov_frame++;
__HAL_DCMI_ENABLE_IT(&DCMI_Handler,DCMI_IT_FRAME);
}
这两个函数之中,但在屏幕上没有显示,只有进入了DMA的数据流中断函数,才会调用回调函数,才会刷屏,我现在不知道为什么进不去下面这个中断函数,也不能确认我的摄像头是否捕获到有效的数据,因为只有显示在了屏幕上,才能看出来,求助原子哥和大神们解答,感激不尽
void (*dcmi_rx_callback)(void);
void DMA2_Stream1_IRQHandler(void)
{
if(__HAL_DMA_GET_FLAG(&DMADMCI_Handler,DMA_FLAG_TCIF1_5)!=RESET)
{
__HAL_DMA_CLEAR_FLAG(&DMADMCI_Handler,DMA_FLAG_TCIF1_5);
dcmi_rx_callback();
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>