新手入门
- 积分
- 12
- 金钱
- 12
- 注册时间
- 2019-9-3
- 在线时间
- 18 小时
|
10金钱
- //处理JPEG数据
- //当采集完一帧JPEG数据后,调用此函数,切换JPEG BUF.开始下一帧采集.
- void jpeg_data_process(void)
- {
- if(ov2640_mode)//只有在JPEG格式下,才需要做处理.
- {
- if(jpeg_data_ok==0) //jpeg数据还未采集完?
- {
- DMA2_Stream1->CR&=~(1<<0); //停止当前传输
- while(DMA2_Stream1->CR&0X01); //等待DMA2_Stream1可配置
- jpeg_data_len=jpeg_buf_size-DMA2_Stream1->NDTR;//得到此次数据传输的长度
- jpeg_data_ok=1; //标记JPEG数据采集完按成,等待其他函数处理
- }
- if(jpeg_data_ok==2) //上一次的jpeg数据已经被处理了
- {
- DMA2_Stream1->NDTR=jpeg_buf_size; //传输长度为jpeg_buf_size*4字节
- DMA2_Stream1->CR|=1<<0; //重新传输
- jpeg_data_ok=0; //标记数据未采集
- }
- }
- }
复制代码 以下是个人的疑惑:
1、为什么两帧才能取一帧?- DCMI_InitStructure.DCMI_CaptureRate=DCMI_CaptureRate_All_Frame;//全帧捕获
复制代码 2、这个配置是对什么产生影响的?1/2、1/4帧在串口和网络显示的区别并不大。3、ATX-COM串口显示达不到手册上的7.5fps,高分辨率串口没有数据,fps极低。
以上都是按实验24 摄像头实验的例程做的测试。
|
|