zegly
驱动牛犊
驱动牛犊
  • 注册日期2004-08-16
  • 最后登录2006-05-07
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:2353回复:0

我的板子上 EZUSB I2C idle状态时 为什么CLK 为低

楼主#
更多 发布于:2005-06-23 13:45
  这里用的是FX2 CY68013 简单实现I2C总线来控制外设,但调用ezusb.lib里的 EZUSB_WriteI2C(add,numberofbyte,*data);通过control panel下载固件后发现I2C idle状态时 CLK 为低,请问大侠们是怎么回事?(SDA,SCL上有2.2K上拉电阻)

具体代码实现:
  用FX自带的example下的 vend_ax做修改:

void TD_Poll(void)                             // Called repeatedly while the device is idle
{
       EZUSB_WriteI2C(0x55,1,dataout);   //BYTE xdata       *dataout=7
       EZUSB_Delay(10);                                   //wait 10 mS
}

仅此而已,测到的波形:SDA:上只发送了地址信息后一直为高直到10mS后下一次调用
           SCL:上(没有运行WriteI2C前为高)
              只有9个时钟后时钟线一直低直到10mS后下一次调用

不知:没有接ADD为0x55的外设会不会有影响,我认为最多也就没有ACK,
不至于把CLK一直拉低把。


这里先谢过各位大侠!
游客

返回顶部