打印

关于IIC通讯,求帮助!

[复制链接]
923|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
shcdwz1234|  楼主 | 2015-6-25 09:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前通讯双方分别使用psoc designer的EzI2Cs和I2Cm模块,之前的程序是从机EzI2Cs一直发数据,I2Cm主机一直循环读取数据。现在需要改一下,需要I2Cm主机给EzI2Cs发数据并修改从机的设置。但是EzI2Cs中根本找不到数据读取的API,我尝试用I2Cm主机发给从机数据后,那么I2Cm从总线上读取的数据会被跳过一个字节,也就是主机从从机读取的数据,第一个字节被省略掉了,直接从第二个字节开始读的。总结就是两个问题:
1.EzI2Cs怎么获得并读取I2Cm发送过来的数据?并且怎么保证总线上发送和收取的数据不会冲突和被覆盖?
2.I2Cm向总线上发送数据后再从总线上读取数据为什么会跳过一个字节直接从第二个字节开始读取?
下面贴上I2Cm循环代码:
while(1){
        status = I2Cm_fReadBytes(0x51,rxBuf,8,I2Cm_RepStart);  
        if(status == 0) {}
        while (!USBUART_bTxIsReady()); //If TX is ready
        USBUART_Write(rxBuf,0x09);
        I2Cm_bWriteCBytes(0x51,txCBuf,2,I2Cm_NoStop );                       
        }
        求谁教教我要怎么弄,如果有相应的例子也行,感激不尽!
沙发
hnkf118| | 2015-6-25 23:11 | 只看该作者
一般第一字节是地址信息的吧?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

7

帖子

0

粉丝