打印

求助_I2C通信问题

[复制链接]
2208|8
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
用PIC26K20(主机)和PIC67J60(从机)做硬件I2C通信时,当主机向从机发送数据,正常发送几个字节后,从机的应答时出现一个小的尖峰,主机就收不到应答,这可能是什么原因啊?
沙发
NE5532| | 2012-4-4 16:33 | 只看该作者
程序打断点,看结束通讯时,两边的I2C状态机在什么状态,再来推断哪里错了。

使用特权

评论回复
板凳
1521732588| | 2012-4-5 11:41 | 只看该作者
干扰吧, 看看电路设计,不然单片机出来的不可能有尖峰的

使用特权

评论回复
地板
laibour|  楼主 | 2012-4-5 16:48 | 只看该作者
2# NE5532
主机没有收到应答就跳到了错误处理的地方,从机就自动复位了。那个小尖峰是在第九个时钟脉冲(应答脉冲)正好结束时产生的。搞不清楚的是为什么从机会自动复位呢,这样即使主机重新启动或者发停止,从机这段时间都不会再响应了。

使用特权

评论回复
5
NE5532| | 2012-4-5 17:16 | 只看该作者
考虑是否开了狗和从机在该应答的时候做了什么,是否PC指针跳飞。

使用特权

评论回复
6
1521732588| | 2012-4-5 17:16 | 只看该作者
检查从机是否有干扰

使用特权

评论回复
7
laibour|  楼主 | 2012-4-6 08:31 | 只看该作者
5# NE5532
把开门狗关闭了,从机的其它程序都被我屏蔽了,只剩下一个I2C中断,也一样会出现这种情况。下面是我用手机拍出来的波形

20120405.jpg (214.68 KB )

20120405.jpg

使用特权

评论回复
8
laibour|  楼主 | 2012-4-9 09:45 | 只看该作者
可能是I2C频率过高,接收应答时受到了其它中断的影响。

使用特权

评论回复
9
mianxi| | 2012-4-9 10:16 | 只看该作者
感谢楼主分享。。。同时强烈鄙视那些看帖不回帖的人!




















-------------------------------------------------------------------------------------------------------------------
汕头不孕不育|汕头宫颈糜烂|汕头宫颈炎|

使用特权

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

本版积分规则

22

主题

81

帖子

0

粉丝