独闷闷网

 找回密码
 立即注册
搜索
查看: 2810|回复: 0
打印 上一主题 下一主题
收起左侧

[原创] I2C通信(IIC通信),ACK信号需要进行出错判断吗?程序上应该怎么处理?已解答。

[复制链接]
跳转到指定楼层
楼主
发表于 2017-1-24 12:06:56 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
橙夏-东莞:
技术讨论开始啦~
请问大家觉得I2C通信  ACK信号需要进行出错判断吗?

hippo-深圳:
当然需要。

★坚鸿-深圳:
我最近需要驱动一个IIC的芯片FM3164,它是集成了铁电存储器和时钟芯片的功能,我是这样处理ACK的,请看代码截图如下:


加里一个超时判断,但是不判断对错。我以前做IIC,设置对ACK啥都不做,直接delay延时一笔带过,用在at24c02上也没问题。所以我的观点是:底层驱动只要调通了,就睁一只眼闭一只眼,让它过,问题也不大,我一直都是这么用。但是终端产品出去之前,一定要做好测试的工作,在终端测试上把好关。

橙夏-东莞:
怕挂机的话,加超时处理?


★坚鸿-深圳:
超时退出是必须的。

老赵-西安:
其实超时处理无非是显示一个错误状态或者放弃IIC,如果等待的办法,就会卡在那里,我感觉都行,但如果用延时的话,有可能出现问题却没发现,最后这问题以别的形式表现出来。


★坚鸿-深圳:
综合了一下老赵的观点,超时的时候给一个错误的状态通知给应用层,让应用层重新来一次,如果连续3次都有问题就报错,这种方法是最理想的。



乐于分享,勇于质疑!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|独闷闷网 ( 粤ICP备12007667号-2 )

GMT+8, 2024-5-3 10:35 , Processed in 0.169451 second(s), 20 queries .

快速回复 返回顶部 返回列表