阅读:1398回复:3
大侠pls help on EZUSB I2C bus’CLK 谢谢先
这里用的是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一直拉低把。 这里先谢过各位大侠! |
|
沙发#
发布于:2005-06-23 16:24
自己先顶一下!
大伙说说想法,至少可以开开我的思路,不至于钻进行。 漏了说:SDA和SCL都只对 I2C写地址有响应,9个clk后就没了,直到10mS的下一周期 |
|
板凳#
发布于:2005-06-23 16:27
自己先顶一下!
大伙说说想法也行,至少可以开拓思路! mail: zegly@163.com 对了:是不是我对现象描述得不够? SDA和SCL只写出了一个BYTE后(data没有送出) CLK就一直低,至到下一周期写。 |
|
地板#
发布于:2005-06-23 18:52
help
|
|