阅读:2611回复:6
请问可否改变cy68013对i2c读写的具体实现?
因为我们的device和标准的i2c的读写地址不一样(标准的i2c是高电平读,低电平写,我们的刚好相反),所以我们好像不能直接用cy68013的读写i2c的api,那我们能够有其他实现方法吗?谢谢指点...
|
|
沙发#
发布于:2004-10-19 09:07
利用68013的GPIO模拟IIC。
|
|
板凳#
发布于:2004-10-19 13:42
情况是这样的:
设备是我们开发的,设备的时序和i2c差不多,但是稍微有不同,集中体现在设备读写电平与IIC相反(这是我们的失误),现在我们需要用cy68013,结果直接用EZUSB_ReadI2C,EZUSB_WriteI2C 是不行了,我们的想法是因为EZUSB_ReadI2C等的实现都在C:\Cypress\USB\Target\Lib\FX2里面有,那么我们能否通过简单的修改EZUSB_ReadI2C等的实现来实现和我们的设备的通信,不过我们还想不清楚,请问大侠有思路吗? 如果上面的路不行,那么我们只能用普通IO来模拟了,好像只能用并口io?但是这样的话pc端好像没有直接的api操作并口?必须和驱动联系在一起吗?这样不是很麻烦了?呵呵。请问我们的理解对吗?有没有巧妙的方法呢? 谢谢。。 利用68013的GPIO模拟IIC。 |
|
地板#
发布于:2004-10-19 15:02
利用IO模拟IIC,从你的串行设备将数据读到68013里。PC当然是利用usb接口读取68013的数据了。
|
|
地下室#
发布于:2004-10-20 15:10
谢谢,呵呵。我们准备这么做了。
准备利用的是PA,PB,PD等,具体操作的是IOA,IOB,IOD等,请问我们的思路是正确的吗? 如果正确的话,那么pc端怎么操作这些寄存器那?是否是通过pc端写VendorCmnd,传到firmware来实现?如果是这样的话,我们可以借鉴的是control panel 的源码,可是这样写的话,是不是只能用ezusb.sys的驱动?不能用cyusb.sys的驱动? 谢谢大侠指点。 利用IO模拟IIC,从你的串行设备将数据读到68013里。PC当然是利用usb接口读取68013的数据了。 [编辑 - 10/20/04 by heaven_sky] |
|
5楼#
发布于:2004-10-20 16:40
使用EZUSB.sys是可以的。
你的思路大体是对的。 |
|
6楼#
发布于:2004-10-20 17:16
谢谢提示,这样一来,pc端写代码就不能用cypress api拉?麻烦多拉,可以让我们还继续使用cyusb.sys的方法吗?
使用EZUSB.sys是可以的。 |
|