摄像头代码移植,SCCB初始化错误

2019-07-21 03:16发布

原子哥移植了你的摄像头代码,在SCCB初始化时候出现了错误,SCCB的SDA和SCL我看普通IO就可以了吧,不用像IIC加上拉电阻吧。
函数是在  SCCB_Init();          //初始化SCCB 的IO口      
  if(SCCB_WR_Reg(0x12,0x80))return 1; //复位SCCB
 这句出错
SCCB_WR_Reg() -->if(SCCB_WR_Byte(SCCB_ID))res=1; //写器件ID -->SCCB_WR_Byte()--> if(SCCB_READ_SDA)res=1;  //SDA=1发送失败,返回1
SCCB_READ_SDA这里读到了1.程序追踪到这就错误返回了初始化错误


原子哥有没有什么好的建议?我移植的战舰板子库函数例程,只是改了pin操作应该不会有错的。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
33条回答
wwjdwy
1楼-- · 2019-07-23 16:52
 精彩回答 2  元偷偷看……
正点原子
2楼-- · 2019-07-23 20:05
说明没读到数据.或者你的读配置有问题.直接用杜邦线,吧SCCB_READ_SDA给接低电平,看看能否正常读取.
wwjdwy
3楼-- · 2019-07-23 21:52
回复【20楼】正点原子:
---------------------------------
是个办法,明天一早就去试试。这个SCCB_READ_SDA不是用杜邦线接低电平吧,不是还要发送么,我把它这句直接当做读到了低电平吧
wwjdwy
4楼-- · 2019-07-24 01:45
回复【20楼】正点原子:
---------------------------------
读SDA:#define SCCB_READ_SDA     GPIO_ReadInputDataBit(GPIOD, GPIO_Pin_0) //输入SDA 

我在SCCB_WR_Byte中将// if(SCCB_READ_SDA)res=1;  //SDA=1发送失败,返回1
                                   // else res=0;         //SDA=0发送成功,返回0
    改为  res=0;意思默认读到0.

在后面的 //读取产品型号
  temp=SCCB_RD_Reg(0x0b);   
if(temp!=0x73)return 2;  
  temp=SCCB_RD_Reg(0x0a);   
if(temp!=0x76)return 2;

读到的是0xFF,读SDA看来确实是出了问题。
void SCCB_SDA_IN(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
//使用PD0 D1作为SCCB D0:SDA  D1: SCL
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING; //上拉输入       
    GPIO_Init(GPIOD, &GPIO_InitStructure);

}

void SCCB_SDA_OUT(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE);
    //使用PD0 D1作为SCCB D0:SDA  D1: SCL
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;   //推挽输出 
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;    
    GPIO_Init(GPIOD, &GPIO_InitStructure);

}

这两句反复检查没看到有错误的信息。而且输入模式我试过infloating也是不行
这里的SCL,SDA我试着用带上拉电阻的去实验也是没有通过
wendell.li
5楼-- · 2019-07-24 02:44
回复【19楼】wwjdwy:
---------------------------------
你好 , 我也遇到你那样的问题 , SDA 线上一直是 高电平 ,请问你是怎么解决的呢 ?
wwjdwy
6楼-- · 2019-07-24 08:43
 精彩回答 2  元偷偷看……

一周热门 更多>