STM32之模拟I2C的实现


一、什么是I2C?

  I2C是串行数据总线,有两根信号线组成,一根是SDA(数据线),一根是SCL(时钟线)。I2C总线是多主从总线,当有两个主机或多个主机同时初始化传输数据时,可以通过冲突检测和仲裁防止数据被破坏,每个连接到总线上的设备都有唯一的地址,任何器件既可以作为主机也可以作为从机,但是同一时刻只允许有一个主机。数据传输和地址皆有软件实现。发送到SDA 线上的每个字节必须为8 位,每次传输可以发送的字节数量不受限制。每个字节后必须跟一个响应位。首先传输的是数据的最高位(MSB),如果从机要完成一些其他功能后(例如一个内部中断服务程序)才能接收或发送下一个完整的数据字节,可以使时钟线SCL 保持低电平,迫使主机进入等待状态,当从机准备好接收下一个数据字节并释放时钟线SCL 后数据传输继续。

二、I2C协议

  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM