Mango_baby

    1. VCA824 对PCB板要求比较高。可能是PCB板的问题
    2. 数码小叶 发表于 2016-3-21 10:41 看了几遍,觉得这个读时序是不是乱了啊,在写完地址后再次启动。。。。你把date直接复制0,看最后的数据是 ...
      {:1_113:} 谢谢~! 确实是 写完地址后再次启动 时出错了。修改后可以正常读数了~! 修改后的I2C_readword(uchar)函数是: ulong I2C_readword(uchar address)//读取一个16位数字 {       ulong date;     uchar MSB,LSB;       I2C_Start();//启动       if(I2C_writebyte(0x80)==0)     {        if(I2C_writebyte(address)==0) //发送芯片内地址        {           delay_ms(10);           I2C_Start();//启动           while(I2C_writebyte(0x81)==1)           {             delay_us(100);             I2C_Start();           }           MSB=I2C_readbyte();//获取数据             Mack();           LSB=I2C_readbyte();//获取数据           MNack();           I2C_Stop();//停止             LSB=LSB&0xfc;        }       else       {I2C_readword(address);}     }     else     {       I2C_readword(address);     }    date=(ulong)MSB*256+LSB;    delay_us(10);    return date;//返回数据 }
    3. ~赞!!谢谢楼主

最近访客

< 1/1 >

统计信息

已有3人来访过

  • 芯积分:--
  • 好友:--
  • 主题:1
  • 回复:3

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言