新手入门
- 积分
- 12
- 金钱
- 12
- 注册时间
- 2019-9-3
- 在线时间
- 18 小时
|
10金钱
- while(1)
- {
- if(jpeg_data_ok==1) //已经采集完一帧图像了
- {
- p=(u8*)jpeg_data_buf;
- jpglen=0; //设置jpg文件大小为0
- headok=0; //清除jpg头标记
- for(i=0;i<jpeg_data_len*4;i++)//查找0XFF,0XD8和0XFF,0XD9,获取jpg文件大小
- {
- if((p[i]==0XFF)&&(p[i+1]==0XD8))//找到FF D8
- {
- jpgstart=i;
- headok=1; //标记找到jpg头(FF D8)
- }
- if((p[i]==0XFF)&&(p[i+1]==0XD9)&&headok)//找到头以后,再找FF D9
- {
- jpglen=i-jpgstart+2;
- break;
- }
- }
- if(jpglen) //正常的jpeg数据
- {
- p+=jpgstart; //偏移到0XFF,0XD8处
- len = jpglen/2048;
- last_len = jpglen-len*2048;
- for(i=0;i<len;i++)
- {
- sendto(0,p+k,2048,DstIP,5000);
- k = k+2048;
- }
- sendto(0,p+len*2048,last_len,DstIP,5000);
- k=0;
- fps_count++;
- }
- jpeg_data_ok=2; //标记jpeg数据处理完了,可以让DMA去采集下一帧了.
- }
复制代码 原子给的例子,串口传输根本达不到7.5fps(有经过测试吗?)。于是想改用网络,但网络在低分频率下(640*480)能达到7.5fps。于是想通过DMA获取数据,然后存到外置SRAM里,然后主循环循环去sram里去数据,发送给网络。有大佬能帮忙讲解下要怎么处理吗 |
|