一.搞了几天摄像头终于搞出来了一点成果,本打算用BMP格式保存读出的数据但是数据太大达到225k,后来又将BMP数据转成JPEG格式就小了很多,jpeg是有损压缩图片会变得不那么清晰。
搞出来的成果:
二.摄像头小知识:XCLK是输入摄像头的时钟,看别的原理图接的是一个12M的晶振,初始化的时候4倍频达到48M,这里没有接,用PA8输出8M内部6倍频达到48M,PCLK是摄像头输出的时钟达到12M,图像输出的是QVGA,RGB565格式,用的是VGA时序,一个像素需要2个pclk.
行输出时序图:
HREF是一个行信号,这个信号和mcu的一个引脚连接在SN74LVC1G00D(与非门)上,和mcu一块控制fifo,当准备写fifo时,mcu发送高电平,这时fifo并没有被使能,只有当HREF产生高电平信号时,在PCLK的配合下将数据写到fifo中。
帧输出时序图:
VSYNC是帧同步信号,当摄像头采集到一帧数据,会发出帧同步信号,用外部中断捕获这个帧中断信号。
void EXTI4_IRQHandler(void)
{
if(EXTI_GetITStatus(EXTI_Line4)==SET) //是4线的中断
{ if(OV7670_CS == 0)
{
if(ov_sta == 0)
{
OV7670_WRST=0; //复位写指针
OV7670_WRST=1;
OV7670_WREN=1; &nbs