打印

ov 7960 sccb 读取失败 求高手

[复制链接]
2124|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
void Start_I2c()
{
SDA=1;   /*发送起始条件的数据信号*/
_Nop();
SCL=1;
_Nop();    /*起始条件建立时间大于4.7us,延时*/
_Nop();
_Nop();
_Nop();
_Nop();   
SDA=0;   /*发送起始信号*/
_Nop();    /* 起始条件锁定时间大于4μs*/
_Nop();
_Nop();
_Nop();
_Nop();      
SCL=0;   /*钳住I2C总线,准备发送或接收数据 */
_Nop();
_Nop();
}

void Stop_I2c()
{
SDA=0; /*发送结束条件的数据信号*/
_Nop();   /*发送结束条件的时钟信号*/
SCL=1; /*结束条件建立时间大于4μs*/
_Nop();
_Nop();
_Nop();
_Nop();
_Nop();
SDA=1; /*发送I2C总线结束信号*/
_Nop();
_Nop();
_Nop();
_Nop();
}


void SendByte(uchar c)
{
uchar BitCnt;
for(BitCnt=0;BitCnt<8;BitCnt++) /*要传送的数据长度为8位*/
    {
     if((c<<BitCnt)&0x80)SDA=1;   /*判断发送位*/
       else SDA=0;               
     _Nop();
     SCL=1;               /*置时钟线为高,通知被控器开始接收数据位*/
      _Nop();
      _Nop();             /*保证时钟高电平周期大于4μs*/
      _Nop();
      _Nop();
      _Nop();        
     SCL=0;
    }
   
    _Nop();
    _Nop();
    SDA=1;                /*8位发送完后释放数据线,准备接收应答位*/
    _Nop();
    _Nop();  
    _Nop();
    SCL=1;
    _Nop();
    _Nop();
   
    if(SDA==1)ack=0;     
       else ack=1;        /*判断是否接收到应答信号*/
    SCL=0;
    _Nop();
    _Nop();
}


uchar RcvByte()
{
uchar retc;
uchar BitCnt;
retc=0;
SDA=1;                /*置数据线为输入方式*/
for(BitCnt=0;BitCnt<8;BitCnt++)
      {
        _Nop();           
        SCL=0;                  /*置时钟线为低,准备接收数据位*/
        _Nop();
        _Nop();                 /*时钟低电平周期大于4.7μs*/
        _Nop();
        _Nop();
        _Nop();
        SCL=1;                  /*置时钟线为高使数据线上数据有效*/
        _Nop();
        _Nop();
        retc=retc<<1;
        if(SDA==1)retc=retc+1; /*读数据位,接收的数据位放入retc中 */
        _Nop();
        _Nop();
      }
SCL=0;   
_Nop();
_Nop();
return(retc);
}

void mian()
{

uchar temp_reg;
  while(1)
{
   
    Start_I2C();
    SendByte(0x80);//id

    SendByte(0x50);//高位,原 地址 0x5001
    SendByte(0x01);//地位
    temp_reg= RcvByte();
    Stop_I2c();
    if(temp_reg==0xc7)P1_6=0;//判断寄存器值 是否正确
    else P1_6=1;
}

register.png (48.79 KB )

register.png

sccb.png (46.73 KB )

sccb.png

time.png (76.78 KB )

time.png

相关帖子

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

本版积分规则

14

主题

28

帖子

1

粉丝