“为何I2C_GenerateSTOP(I2Cx, ENABLE)之后STOP没有被清零”
虽然我们执行了这句话,也许由于干扰,使得总线上就没有出现这个STOP信号咯,那么硬件没有检测到STOP信用,当然不会清零stop位咯。
我在上面贴子说的,“有客户报告说STOP位在产生了STOP信号后不会被清零”,是因为他们的I2C_GenerateSTOP(I2Cx, ENABLE)后面马上跟着一句对CR1的写操作,而由于其读-修改-写的原因,使得STOP位又被置上了。他们没有这么厉害的干扰,“时而工作,时而不工作”,太吓人了。 |