我的目的主要是每次启动单片机就采集一张图片就好,只要一张就好,所以我通过改了下循环采集的函数来实现单次采集,改后的mian代码如下,但是每次采集的单张照片的数据很明显丢失了,导致采集出来的图片只要黑白照,没有颜 {MOD},基本一片黑暗,虽然采集到数据有FFD8FFD9等结束符开头。但是如果我把mian函数改为连续采集不间断的话,上位机接收到的视频是正常的,求指点迷津。
u16 i = 0;
///////////////Delay3õê¼»ˉ//////////////////
Delay_Init(72);
////////////////////////////////////////////
///////////////USART13õê¼»ˉ/////////////////
USART1_Init(115200);
OV2640_HW_Init();
memset(&OV2640_Camera_ID,0x0,sizeof(OV2640_IDTypeDef));
OV2640_ReadID(&OV2640_Camera_ID);
OV2640_JPEGConfig(JPEG_160x120);
//éèÖÃ×Ô¶ˉÆØ1aoí°×ƽoa
OV2640_BrightnessConfig(0x20);
OV2640_AutoExposure(2);
OV2640_CaptureGpioInit();
EXTI->IMR &= ~EXTI_Line8;
EXTI->EMR &= ~EXTI_Line8;
EXTI->IMR &= ~EXTI_Line15;
EXTI->EMR &= ~EXTI_Line15;
Delay_nMS(10);
EXTI->IMR |= EXTI_Line8;
EXTI->EMR |= EXTI_Line8;
Delay_nMS(100);//加了延时以等待VsyncActive == 2
if(VsyncActive == 2)
{
for(i = 0; i < JpegDataCnt; i ++)
{
USART_Transmit(JpegBuffer[i]);
}
JpegDataCnt = 0;
EXTI->IMR |= EXTI_Line8;
EXTI->EMR |= EXTI_Line8;
}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>