独闷闷网
标题:
I2C通信(IIC通信),ACK信号需要进行出错判断吗?程序上应该怎么处理?已解答。
[打印本页]
作者:
jianhong_wu
时间:
2017-1-24 12:06
标题:
I2C通信(IIC通信),ACK信号需要进行出错判断吗?程序上应该怎么处理?已解答。
橙夏-东莞:
技术讨论开始啦~
请问大家觉得I2C通信 ACK信号需要进行出错判断吗?
hippo-深圳:
当然需要。
★坚鸿-深圳:
我最近需要驱动一个IIC的芯片FM3164,它是集成了铁电存储器和时钟芯片的功能,我是这样处理ACK的,请看代码截图如下:
FM3164.png
(9.22 KB, 下载次数: 143)
下载附件
保存到相册
2017-1-24 12:06 上传
加里一个超时判断,但是不判断对错。我以前做IIC,设置对ACK啥都不做,直接delay延时一笔带过,用在at24c02上也没问题。所以我的观点是:底层驱动只要调通了,就睁一只眼闭一只眼,让它过,问题也不大,我一直都是这么用。但是终端产品出去之前,一定要做好测试的工作,在终端测试上把好关。
橙夏-东莞:
怕挂机的话,加超时处理?
★坚鸿-深圳:
超时退出是必须的。
老赵-西安:
其实超时处理无非是显示一个错误状态或者放弃IIC,如果等待的办法,就会卡在那里,我感觉都行,但如果用延时的话,有可能出现问题却没发现,最后这问题以别的形式表现出来。
★坚鸿-深圳:
综合了一下老赵的观点,超时的时候给一个错误的状态通知给应用层,让应用层重新来一次,如果连续3次都有问题就报错,这种方法是最理想的。
欢迎光临 独闷闷网 (http://dumenmen.com/)
Powered by Discuz! X3.2