在我的系统中,我正在使用I2C,并且我意识到在繁重的中断负载(来自其他来源)下,I2C通信很容易中断。这是I2C的预期行为吗?我本来希望尽管有中断负载,但仍然可以,因为I2C并非完全是时间紧迫的接口,时钟随数据一起提供。
更新:
处理器是STM32。中断是由于ADC引起的,因此我无法在读取事件期间禁用中断,因此我必须找到一种可以使i2c通信更加稳定的解决方案。STM32是主设备,从设备是另一个设备(加速度计)。
更新2:
当我用一根小的飞行电缆将逻辑分析仪连接到时钟时,问题就消失了。有趣的是,没有中断加载,读写工作良好,有中断加载却没有。但是,如果我将探针连接到时钟上,则在中断负载下也可以进行读写操作。我认为某个地方存在电容问题。