Skip to content

Conversation

@wx85105157
Copy link

解决因干扰,连线虚接,两边设备复位不同步等原因导致IIC通讯失败并且总线锁死问题。提高IIC总线的健壮性。

解决因干扰,连线虚接,两边设备复位不同步导致IIC通讯失败。
@HalfSweet
Copy link
Member

谢谢,确定是因为busy导致的吗

@wx85105157
Copy link
Author

谢谢,确定是因为busy导致的吗

首先,按照air001的规格书来说,sda或sdl低电平,busy就会置位。
iic主机读从机,会在从机发送最后一个字节数据时发送nack,再发送stop。
而air001的iic从机,在nack后,stop检测是不置位的。但是nack错误检测能置位。
这个是hal库对iic逻辑的处理错误,在另外一个库我也���了补丁。

其次,补丁修复后测试过程中,我复位uno主机,air从机,或者晃动杜邦线,也会造成总线锁死。
所以在从机用户代码里面,还是要定时去检测总线忙,超时一段时间就要复位下总线。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants