OpenEdv-开源电子网

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

STM32F407驱动OV2640时清除DMA请求

[复制链接]

2

主题

4

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2018-12-6
在线时间
11 小时
发表于 2018-12-6 11:56:33 | 显示全部楼层 |阅读模式
1金钱
[mw_shl_code=c,true]//处理JPEG数据
//当采集完一帧JPEG数据后,调用此函数,切换JPEG BUF.开始下一帧采集.
void jpeg_data_process(void)
{
        if(ov2640_mode)//只有在JPEG格式下,才需要做处理.
        {
                if(jpeg_data_ok==0)        //jpeg数据还未采集完?
                {       
                        DMA_Cmd(DMA2_Stream1, DISABLE);//停止当前传输
                        while (DMA_GetCmdStatus(DMA2_Stream1) != DISABLE){}//等待DMA2_Stream1可配置  
                        jpeg_data_len=jpeg_buf_size-DMA_GetCurrDataCounter(DMA2_Stream1);//得到此次数据传输的长度
                        jpeg_data_ok=1;                                 //标记JPEG数据采集完按成,等待其他函数处理
                        printf("log1.\r\n");
                }
                if(jpeg_data_ok==2)        //上一次的jpeg数据已经被处理了
                {
                        DMA2_Stream1->NDTR=jpeg_buf_size;       
                        DMA_SetCurrDataCounter(DMA2_Stream1,jpeg_buf_size);//传输长度为jpeg_buf_size*4字节
                        DMA_Cmd(DMA2_Stream1, ENABLE);                        //重新传输
                        jpeg_data_ok=0;                                                //标记数据未采集
                        printf("log2.\r\n");
                }
        }
} [/mw_shl_code]

STM32F407驱动OV2640,DCMI采用连续模式。 因为不是每一帧的数据我都需要,而DCMI接收4个完整字节就会触发一次DMA请求,所以有个问题,上一帧的数据最后四个字节,在我一使能DMA时就会通过DMA传到内存中去,但是这4个字节是上一帧的数据,是不需要的数据,请问这个怎么避免?

最佳答案

查看完整内容[请看2#楼]

你可以以帧中断来同步。 你需要的帧就存储数据,不需要的帧,你直接丢弃即可。 至于4字节问题,JPEG数据流在头尾有很多无意义的数据,大部分是0,直接丢弃即可。 所以4字节完全不是问题
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2018-12-6 11:56:34 | 显示全部楼层
你可以以帧中断来同步。
你需要的帧就存储数据,不需要的帧,你直接丢弃即可。
至于4字节问题,JPEG数据流在头尾有很多无意义的数据,大部分是0,直接丢弃即可。
所以4字节完全不是问题
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

2

主题

4

帖子

0

精华

新手上路

积分
42
金钱
42
注册时间
2018-12-6
在线时间
11 小时
 楼主| 发表于 2018-12-7 16:20:48 | 显示全部楼层
多谢!这个问题已经解决了,另外我想请问一下您的OV2640模块的镜头座有单独卖的吗?我在淘宝上没有找到同款的
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 10:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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