本帖最后由 MK60 于 2013-12-29 12:15 编辑
想实现I2C从机?楼主先把I2C协议彻底摸透吧。
“1.SCL的读写状态信息判断:在主机写时序中,比较容易,判断SCL的下降沿来读取SDA线上的信息。在主机读时序中,我分析必须要判断SCL的上升沿来发送SDA信息。所以,在无外置电路的情况下,MCU必须有上升沿中断这一功能。”
你第一个理解都是错误的,I2C总线接口是在SCK的下降沿写入SDA,而在SCL的上升沿读取SDA。
想把I2C协议摸透,此篇文档必看不可——《I2C总线技术精要》,只要看前面1~8页就够了,后面的不需要看。那里面的每一句话都不是多余的。
实现I2C从机至少需要2个以上中断,耗费的硬件资源不少。。。 |