我实在顶不住了,该看的资料也都看完了,程序也研究透了,屏幕显示任然是花屏
有没有调试出来的,求指点!!求分享经验,谢谢啦!
- 这是关键部分的程序
int main(void)
{ ...
OV7670_Window_Set(10,174,240,320);//ov7670的窗口输出
LCD_SetWindow(0,0,239,319);
LCD_DispDir(0);//竖屏,从左上角开始,Z字型扫描
for(;;)
camera_refresh();
.....
}
//引脚定义
#define OV7670_VSYNC (GPIOE->IDR&0x0040)
#define OV7670_HSYNC (GPIOE->IDR&0x0020)
#define OV7670_PCLK (GPIOE->IDR&0x0010)
#define OV7670_DATA (GPIOF->IDR&0x00FF) //数据输入端口
void camera_refresh(void)
{
u32 j;
u16 color;
LCD_SetXY(0, 0); //设置光标位置
while(!OV7670_VSYNC);//0-1
while(OV7670_VSYNC);//1-0
for(j=76800; j>0; j--)
{
while(!OV7670_PCLK);//1→0
while(OV7670_PCLK);//0→1
color = OV7670_DATA;//读数据
color <<= 8;
while(!OV7670_PCLK);//1→0
while(OV7670_PCLK);//0→1
color |= OV7670_DATA;//读数
LCD_WriteRAM(color);
}
}
2.这是用逻辑分析仪抓取的波形,从上到下PCLK VSYNC HREF
3.我的这个OV7670模块是这样的,VCC GND SCL SDA VSYNC HREF XCLK PCLK D0~D7,就这些脚,
我用PA8时钟输出8MHz(内部RC振荡器)给XCLK,SCL 和SDA能够对OV7670进行正常配置,并且初始化成功,上面是工作波形图,
PCLK VSYNC HREF接STM32引脚,设置成上拉输入的,屏幕显示方向是竖屏,从左到右,从上到下扫
不知道到底疏忽了什么地方,论坛里的高手帮帮忙啊
|