OV2640拍摄jpg图像无法解析

在一个项目中,用STM32F103RCT6驱动OV2640拍摄JPG图片,发现得到的图片在电脑上无法解析,如下图所示:

OV2640拍摄jpg图像无法解析_第1张图片

用二进制编辑器查看图片二进制数据如下:

 

OV2640拍摄jpg图像无法解析_第2张图片

竟然连jpg文件头都没有!图片能显示才怪!在确认程序没有问题的情况下(同样的程序之前成功的,见我的其他博客:STM32F103C8T6驱动ov2640拍照串口传输到上位机) ,摄像头损坏的可能性不大,没发现什么异常,而且不大可能买来就是坏的!

怀疑接线有问题,我的接线方式如下:

接线方式 OV2640   STM32
    vsync   pc5
	scl     pd2
	sda     pa0
	href    pa1
	rst     pc14
	dclk    pa11
	 pwdn    pc15
	data0-7 pb0-7s

用外用表逐个引脚,竟然发现pb6断线!竟然出现这样的疏漏!!!简直了~于是赶紧补焊。

补焊之后发现图片还是异常,于是想到会不会又是该死的JTAG搞得鬼,因为之前就遇到这种情况,不禁用掉JTAG的话没法操作某些IO口,这个问题我之前的文章也有提到过STM32F0 PA13,PA14如何配置成普通IO口(程序禁用swd-jtag功能),于是在初始化摄像头之前加入如下代码:

void disableJTAG(){
	
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO|RCC_APB2Periph_GPIOB, ENABLE);  //使能相应接口的时钟,以及RCC_APB2Periph_AFIO

 GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);//完全禁用SWD及JTAG 
 GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);     //禁用JTAG
}

问题竟然神奇的解决了!要是20个引脚逐个排查,笔者估计要泪奔了。。。。好了,正常的jpg图片应该像下面这样:

OV2640拍摄jpg图像无法解析_第3张图片

而且在二进制数据中可以看到jpg文件头

OV2640拍摄jpg图像无法解析_第4张图片

 

 

你可能感兴趣的:(OV2640拍摄jpg图像无法解析)