如题,mini板使用ov7670时,用的是扩展例程的扩展实验9源码,其中ov7670的SDA引脚接的是PC5引脚,在此想要将其修改为其他引脚例如PC1,已经改了相应代码,但是初始化的时候还是出错了。其中,修改的代码(标为红色的代码为修改的)如下所示:
void SCCB_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE); //使能PC端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_1; // 端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //输输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_SetBits(GPIOC,GPIO_Pin_4|GPIO_Pin_1); // 输出高
SCCB_SDA_OUT();
}
//#define SCCB_SDA_IN() {GPIOC->CRL&=0XFF0FFFFF;GPIOC->CRL|=0X00800000;}
//#define SCCB_SDA_OUT() {GPIOC->CRL&=0XFF0FFFFF;GPIOC->CRL|=0X00300000;}
#define SCCB_SDA_IN() {GPIOC->CRL&=0XFFFFFF0F;GPIOC->CRL|=0X00000080;}
#define SCCB_SDA_OUT() {GPIOC->CRL&=0XFFFFFF0F;GPIOC->CRL|=0X00000030;}
//IO操作函数
#define SCCB_SCL PCout(4) //SCL
#define SCCB_SDA PCout(1) //SDA
#define SCCB_READ_SDA PCin(1) //输入SDA
#define SCCB_ID 0X42 //OV7670的ID
就修改了这三部分,启动的时候出现OV7670 Error!!,也即初始化失败。请问是什么问题,还需要修改其他地方吗? |