新手上路
- 积分
- 24
- 金钱
- 24
- 注册时间
- 2023-1-25
- 在线时间
- 5 小时
|
我是个初学者,在读正点提供的摄像头实验的时候,感觉例程会丢帧。请大家帮我纠正一下
当上电后,按key1按键切换到JPEG模式后。工作顺序如下:
1、捕捉到第一帧后,进入帧中断hal_dcmi_frameeventcallback。
在中断服务函数中调用jpeg_data_process。
jpeg_data_process函数接收完最后的数据后,设置g_jpeg_data_ok=1返回。
2、帧中断函数返回到jpeg_test, 此时g_jpeg_data_ok=1,所以解析到JPEG数据后,通过usart2,把数据发到上位。
并把g_jpeg_data_ok=2;标识已经处理完毕。
3、当第二帧数据捕捉到之后,进入帧中断hal_dcmi_frameeventcallback后,在中断函数中调用jpeg_data_process函数
此时g_jpeg_data_ok==2,执行状态转后,直接返回jpeg_test。
(我的理解是:帧中断发生后,应该接收数据,却是直接返回到jpeg_test,这帧数据应该是不是丢了?)
4、返回到jpeg_test,因为g_jpeg_data_ok==0, jpeg_test等待第三帧数据到来,发生中断。
5、帧中断服务函数中,此时g_jpeg_data_ok ==0 ,执行接收数据。执行完后,把g_jpeg_data_ok=1。
6、如此往复。
我的疑问是:在第3步后,第二帧数据,是不是丢了? 类似,第4帧是不是也丢了。。。。。
|
|