打印

I2C master如何判断slaver有无响应?

[复制链接]
3671|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
mzscg|  楼主 | 2008-12-9 14:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
再次提I2C问题.psoc的I2C datasheet看烂还是懂.

我的I2C作为master, 挂接一个slaver,
因为slaver经常忙,所以不会准时响应我的master通信.

所以.我想实现的功能是:

master发出起始条件以及slaver address后,
若slaver忙不响应,则master重发,直到slaver响应.
那么问题就是:
程序里如何判断 slaver是否响应了master?  (datasheet里我找不到答案)

另外如何判断一次I2c通信已完成??

while(!I2CHW_bReadI2CStatus() & I2CHW_WR_COMPLETE);
无法完成这一功能.


沙发
rj_tang| | 2008-12-16 09:41 | 只看该作者

用SW可能更好

如果你的slave反应不快,用I2CSW可能更好。如果还不行,就自己用2个IO编一段代码。我就是这样做的,作为master用肯定能行。

使用特权

评论回复
板凳
mzscg|  楼主 | 2008-12-16 14:54 | 只看该作者

楼上的...东西已经快做完了...不想改了...

好多天了,,,psoc的人都没有来答....


我已经试遍了所有寄存器的标志位,依然无解.

下一步决定试一下组合标志位.....

再不行...........俺就.........

使用特权

评论回复
地板
mzscg|  楼主 | 2008-12-17 16:05 | 只看该作者

召唤PSCO-ROCK

快受不了这个东西了....

使用特权

评论回复
5
PSoC_Rock| | 2008-12-17 17:12 | 只看该作者

可以仿真吗?

I2C mastert通过ACK判断slaver有无响应,如果得到NACK就是没有响应.



使用特权

评论回复
6
mzscg|  楼主 | 2008-12-25 10:03 | 只看该作者

psoc_rock

我清楚是这个原理.

但我想的是在
高级API上能实现出来...我在低级API上实现了.

请PSOC_ROCK提供一下高级API的实现程序..非常感谢.

使用特权

评论回复
7
huang19850215| | 2009-1-1 16:44 | 只看该作者

vvvvvvvvvvvvvvv

http://www.sceceu.cn/index.php?40410-1.html

使用特权

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

本版积分规则

51

主题

234

帖子

0

粉丝