OpenEdv-开源电子网

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

OV5640视频传输双DMA要如何实现

[复制链接]

7

主题

14

帖子

0

精华

新手入门

积分
12
金钱
12
注册时间
2019-9-3
在线时间
18 小时
发表于 2020-7-27 17:05:29 | 显示全部楼层 |阅读模式
10金钱
  1. while(1)
  2.         {
  3.                 if(jpeg_data_ok==1)        //已经采集完一帧图像了
  4.                 {  
  5.                         p=(u8*)jpeg_data_buf;
  6.                         jpglen=0;        //设置jpg文件大小为0
  7.                         headok=0;        //清除jpg头标记
  8.                         for(i=0;i<jpeg_data_len*4;i++)//查找0XFF,0XD8和0XFF,0XD9,获取jpg文件大小
  9.                         {
  10.                                 if((p[i]==0XFF)&&(p[i+1]==0XD8))//找到FF D8
  11.                                 {
  12.                                         jpgstart=i;
  13.                                         headok=1;        //标记找到jpg头(FF D8)
  14.                                 }
  15.                                 if((p[i]==0XFF)&&(p[i+1]==0XD9)&&headok)//找到头以后,再找FF D9
  16.                                 {
  17.                                         jpglen=i-jpgstart+2;
  18.                                         break;
  19.                                 }
  20.                         }
  21.                         if(jpglen)        //正常的jpeg数据
  22.                         {
  23.                                 p+=jpgstart;                        //偏移到0XFF,0XD8处
  24.                                 len = jpglen/2048;
  25.                                 last_len = jpglen-len*2048;
  26.                                 for(i=0;i<len;i++)
  27.                                 {
  28.                                         sendto(0,p+k,2048,DstIP,5000);
  29.                                         k = k+2048;
  30.                                 }
  31.                                 sendto(0,p+len*2048,last_len,DstIP,5000);
  32.                                 k=0;
  33.                                 fps_count++;
  34.                         }
  35.                         jpeg_data_ok=2;        //标记jpeg数据处理完了,可以让DMA去采集下一帧了.
  36.                 }               
复制代码
原子给的例子,串口传输根本达不到7.5fps(有经过测试吗?)。于是想改用网络,但网络在低分频率下(640*480)能达到7.5fps。于是想通过DMA获取数据,然后存到外置SRAM里,然后主循环循环去sram里去数据,发送给网络。有大佬能帮忙讲解下要怎么处理吗

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

使用道具 举报

15

主题

1061

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
3623
金钱
3623
注册时间
2019-8-14
在线时间
1054 小时
发表于 2020-7-27 19:54:36 | 显示全部楼层
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-4-30 19:29

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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