OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3659|回复: 7

OV2640进行拍照的时候,用手遮挡镜头能够触发DCMI中断,其他时候大部分时间没有数据,这是怎么回事,大师指教下

[复制链接]

4

主题

17

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-8-4
在线时间
23 小时
发表于 2020-5-28 15:16:30 | 显示全部楼层 |阅读模式
10金钱
用的STM32H743驱动的OV2640进行拍照的时候,用手遮挡镜头能够触发DCMI中断,其他时候大部分时间没有数据,这是怎么回事,大师指教下

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

0

主题

54

帖子

0

精华

初级会员

Rank: 2

积分
85
金钱
85
注册时间
2018-8-3
在线时间
8 小时
发表于 2020-5-28 15:16:30 | 显示全部楼层
帮顶!!!!!!!!!!!!!
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2020-5-29 01:31:23 | 显示全部楼层
是我们例程么?
回复

使用道具 举报

4

主题

17

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-8-4
在线时间
23 小时
 楼主| 发表于 2020-5-29 09:29:33 | 显示全部楼层

我也参考了你们的例程,我用的是DCMI中断模式,单次拍摄,发现大部分时间OV2640不能触发DCMI中断,好奇怪

        if(1)
                {
                        HAL_Delay(10000);
                        if(1)
                        {
                                printf("Start shooting   \r\n");
                                HAL_DCMI_Stop(&hdcmi);
                                MX_DCMI_Init();
                                __HAL_DCMI_ENABLE_IT(&hdcmi, DCMI_IT_FRAME);
                                HAL_DCMI_Start_DMA(&hdcmi,DCMI_MODE_SNAPSHOT ,(uint32_t)&CAMERA_FRAME_BUFFER,1600*8);
                        }
//                        while(HAL_GPIO_ReadPin(CTR_GPIO_Port,CTR_Pin) == RESET);
                }



下面还有个回调函数,用OV5640就没有这个问题,

void HAL_DCMI_FrameEventCallback(DCMI_HandleTypeDef *hdcmi)
{
  /* NOTE : This function Should not be modified, when the callback is needed,
            the HAL_DCMI_FrameEventCallback could be implemented in the user file
   */
       
        printf("End of shooting\r\n");
        //HAL_UART_DMAStop(&huart1);FF D8 FF E0
//        printf("%x  %x  %x  %x\r\n",CAMERA_FRAME_BUFFER[0],CAMERA_FRAME_BUFFER[1],CAMERA_FRAME_BUFFER[2],CAMERA_FRAME_BUFFER[3]);
//        if(CAMERA_FRAME_BUFFER[0] == 0){
//                CAMERA_FRAME_BUFFER[0] = 0xFF;
//                CAMERA_FRAME_BUFFER[1] = 0xD8;
//                CAMERA_FRAME_BUFFER[2] = 0xFF;
//                CAMERA_FRAME_BUFFER[3] = 0xE0;
//        }
        HAL_UART_Transmit(&huart1, (uint8_t*)CAMERA_FRAME_BUFFER, (sizeof(CAMERA_FRAME_BUFFER)/sizeof(char)),0x01FF);
}




帮忙看看怎么回事,谢谢

回复

使用道具 举报

6

主题

22

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2020-2-28
在线时间
61 小时
发表于 2020-5-29 17:08:26 | 显示全部楼层
大能,您好,看到您的帖子想请问一个问题,我也是用H743的开发板和OV2640的摄像头做测试,我这边配置OV2640的sxga(15帧率),然后显示到LCD屏上,我使用TIME3计数器每秒打印帧率,我发现每秒只打印出7帧的速率,想请问您那边能实现多少帧率吗,或者您那边指导这是什么原因吗?
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2020-5-30 01:14:33 | 显示全部楼层
as971170202 发表于 2020-5-29 09:29
我也参考了你们的例程,我用的是DCMI中断模式,单次拍摄,发现大部分时间OV2640不能触发DCMI中断,好奇怪 ...

先用我们的看能不能搞定,确认一下硬件问题。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

4

主题

17

帖子

0

精华

新手上路

积分
30
金钱
30
注册时间
2018-8-4
在线时间
23 小时
 楼主| 发表于 2020-6-2 12:00:01 | 显示全部楼层
正点原子 发表于 2020-5-30 01:14
先用我们的看能不能搞定,确认一下硬件问题。

我可以确定不是硬件问题,因为你们的驱动不是拍照的,你们的改成拍照的应该也一样,确实是程序中的一个问题,但是不知道是什么地方的原因
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2020-6-5 01:48:32 | 显示全部楼层
as971170202 发表于 2020-6-2 12:00
我可以确定不是硬件问题,因为你们的驱动不是拍照的,你们的改成拍照的应该也一样,确实是程序中的一个问 ...

拍照我们也支持啊
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 20:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表