打印
[STM32F1]

请教关于OV7670的一些问题,希望大家不吝赐教

[复制链接]
2582|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
qq2216691777|  楼主 | 2015-6-21 12:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
OV7670我有一个不带FIFO和外部晶振的  有用A8口给XCLK  8Mhz的脉冲   
我用的是SCCB协议   那么D0-D7可以不接吗?
vsync,href,reset,pwdn,Pclk都是怎么接的?
读取0X0A一直是读取失败  这是什么情况啊?

希望大家给我讲解一下:)
沙发
colin2135| | 2015-6-21 21:36 | 只看该作者
SCCB只是用来对OV7670作初始化。
D0到D7是数据输出,当然是要接的!

读取ID不正常可能是I2C配置不正常。

使用特权

评论回复
板凳
icecut| | 2015-6-22 08:52 | 只看该作者
ls 正解. lz 不会看看手册么?

使用特权

评论回复
地板
mmuuss586| | 2015-6-22 09:30 | 只看该作者
线当然要接;

另外这个问题好像和ST没啥关系吧

使用特权

评论回复
5
qq2216691777|  楼主 | 2015-6-22 10:58 | 只看该作者
colin2135 发表于 2015-6-21 21:36
SCCB只是用来对OV7670作初始化。
D0到D7是数据输出,当然是要接的!

读取ID需要用到IIC吗  不是模拟的SCCB吗?

使用特权

评论回复
6
qq2216691777|  楼主 | 2015-6-22 10:59 | 只看该作者
icecut 发表于 2015-6-22 08:52
ls 正解. lz 不会看看手册么?

额   没看明白:'(

使用特权

评论回复
7
qq2216691777|  楼主 | 2015-6-22 11:00 | 只看该作者
mmuuss586 发表于 2015-6-22 09:30
线当然要接;

另外这个问题好像和ST没啥关系吧

是没什么关系  就是关于OV7670模块的  可是我不知道发到哪个版块:(

使用特权

评论回复
8
myl593799546| | 2015-6-22 11:02 | 只看该作者
SCCB和IIC差不多的,有一个地方不一样,楼主别说不知道,如果不知道那就有方向了,去看看吧

使用特权

评论回复
9
qq2216691777|  楼主 | 2015-6-22 11:10 | 只看该作者
myl593799546 发表于 2015-6-22 11:02
SCCB和IIC差不多的,有一个地方不一样,楼主别说不知道,如果不知道那就有方向了,去看看吧 ...

恩恩  好的    多谢了

使用特权

评论回复
10
qq2216691777|  楼主 | 2015-6-22 11:28 | 只看该作者
//这是在main函数里的
while( OV7670_Init() )
        {
                LCD_Clear( White );
                delay_ms(10);
                GUI_Text( 50, 80, "OV7670 Failed", 13, Black, White);
                delay_ms(100);
        }

//

while( OV7670_Init() )
        {
                LCD_Clear( White );
                delay_ms(10);
                GUI_Text( 50, 80, "OV7670 Failed", 13, Black, White);
                delay_ms(100);
        }

void OV7670_GPIOx_Init( void )
{
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
        GPIO_InitStructure.GPIO_Pin =  0X00FF;                                                //D0-D7
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOB, &GPIO_InitStructure);
}

void OV7670_GPIOx_CONTRL_CONFIG( void )
{
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC, ENABLE );
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_10;   //A11 - href   A10 - vysnc  
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
       
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9;                                                                        //PCLK
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
        GPIO_Init(GPIOC, &GPIO_InitStructure);
        RCC_MCOConfig(RCC_MCO_HSE  );//hsi
}

void SCCB_Init( void )
{
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
        GPIO_InitStructure.GPIO_Pin =  GPIO_Pin_14|GPIO_Pin_13;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
}

void XCLK_On( void )
{
        GPIO_InitTypeDef GPIO_InitStructure;
        RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
        GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;
        GPIO_InitStructure.GPIO_Speed = GPIO_Speed_10MHz;
        GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP ;
        GPIO_Init(GPIOA, &GPIO_InitStructure);
        RCC_MCOConfig(RCC_MCO_HSE  );//hsi
       
}




这是我的代码

使用特权

评论回复
11
qq2216691777|  楼主 | 2015-6-22 11:29 | 只看该作者
PWDN  和RESET都接地了

使用特权

评论回复
12
qq2216691777|  楼主 | 2015-6-22 17:26 | 只看该作者
ov7670的PWDN接地,RESET悬空 SOIC与SOID接单片机引脚 XCLK接8Mhz 其余线不接 这样能读取和写入OV7670的寄存器吗 我这边一直是错误的

使用特权

评论回复
13
可可球| | 2015-6-22 19:59 | 只看该作者
帮你顶了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

37

帖子

3

粉丝