阅读:2391回复:0
我的板子上 EZUSB I2C idle状态时 为什么CLK 为低
这里用的是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一直拉低把。 这里先谢过各位大侠! |
|