本帖最后由 Simon21ic 于 2010-6-28 10:39 编辑
“拉低SCL”,这肯定是从机干的事,为什么???
因为害怕主机太快自己没处理完。
就事论事,看来俺在34楼的判断有 ...
HotWC3 发表于 2010-6-28 09:35
确实判断有错误,拉低SCL本来就是从机的权利,而且一般IIC从机,中断中,SCL就已经是下拉的状态,等到中断处理完成后,释放中断,IIC才会释放SCL,这个过程是不需要IO模拟的。而且,也很少用IO模拟IIC从机。
反而,SCL被设备拉低就一定是IO模拟的IIC主机要考虑的问题。
纠正一个错误:
“IIC从机如果拉低SCL”主要用于解决主机和从机的速度不匹配即从机慢的问题。一般出现在从机模拟IO的项目上。
应该是主机模拟IO,从机不需要等待SCL的。
应该这么说,从机不管是否是IO模拟的,都会拉低SCL。
而,一般,在主机用IO模拟的情况下,才会需要考虑等待SCL这个问题。 |