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

大侠pls help on EZUSB I2C bus’CLK 谢谢先

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

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

void TD_Init(void)                             // Called once at startup
{
   Rwuen = TRUE;                     // Enable remote-  wakeup
        EZUSB_InitI2C();                     // Initialize I2C Bus
}

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一直拉低把。


这里先谢过各位大侠!
zegly
驱动牛犊
驱动牛犊
  • 注册日期2004-08-16
  • 最后登录2006-05-07
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-06-23 16:24
自己先顶一下!
大伙说说想法,至少可以开开我的思路,不至于钻进行。

漏了说:SDA和SCL都只对 I2C写地址有响应,9个clk后就没了,直到10mS的下一周期
zegly
驱动牛犊
驱动牛犊
  • 注册日期2004-08-16
  • 最后登录2006-05-07
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-06-23 16:27
自己先顶一下!

大伙说说想法也行,至少可以开拓思路!  mail: zegly@163.com

对了:是不是我对现象描述得不够?
SDA和SCL只写出了一个BYTE后(data没有送出) CLK就一直低,至到下一周期写。
zegly
驱动牛犊
驱动牛犊
  • 注册日期2004-08-16
  • 最后登录2006-05-07
  • 粉丝0
  • 关注0
  • 积分13分
  • 威望3点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-06-23 18:52
help
游客

返回顶部