I2C总线学习(四)--读写过程
寫入過程
???? 單片機(jī)進(jìn)行寫操作時(shí),首先發(fā)送該器件的7位地址碼和寫方向位“0”(共8位,即一個(gè)字節(jié)),發(fā)送完后釋放SDA線并在SCL線上產(chǎn)生第9個(gè)時(shí)鐘信號。被選中的存儲(chǔ)器器件在確認(rèn)是自己的地址后,在SDA線上產(chǎn)生一個(gè)應(yīng)答信號作為相應(yīng),單片機(jī)收到應(yīng)答后就可以傳送數(shù)據(jù)了。
??? 傳送數(shù)據(jù)時(shí),單片機(jī)首先發(fā)送一個(gè)字節(jié)的被寫入器件的存儲(chǔ)區(qū)的首地址,收到存儲(chǔ)器器件的應(yīng)答后,單片機(jī)就逐個(gè)發(fā)送各數(shù)據(jù)字節(jié),但每發(fā)送一個(gè)字節(jié)后都要等待應(yīng)答。當(dāng)要寫入的數(shù)據(jù)傳送完后,單片機(jī)應(yīng)發(fā)出終止信號以結(jié)束寫入操作。寫入n個(gè)字節(jié)的數(shù)據(jù)格式 :
?
讀出過程
???? 單片機(jī)先發(fā)送該器件的7位地址碼和寫方向位“0”(“偽寫”),發(fā)送完后釋放SDA線并在SCL線上產(chǎn)生第9個(gè)時(shí)鐘信號。被選中的存儲(chǔ)器器件在確認(rèn)是自己的地址后,在SDA線上產(chǎn)生一個(gè)應(yīng)答信號作為相應(yīng)。 然后,再發(fā)一個(gè)字節(jié)的要讀出器件的存儲(chǔ)區(qū)的首地址,收到應(yīng)答后,單片機(jī)要重復(fù)一次起始信號并發(fā)出器件地址和讀方向位(“1”),收到器件應(yīng)答后就可以讀出數(shù)據(jù)字節(jié),每讀出一個(gè)字節(jié),單片機(jī)都要回復(fù)應(yīng)答信號。當(dāng)最后一個(gè)字節(jié)數(shù)據(jù)讀完后,單片機(jī)應(yīng)返回以“非應(yīng)答”(高電平),并發(fā)出終止信號以結(jié)束讀出操作。
轉(zhuǎn)載于:https://www.cnblogs.com/markmin214/archive/2013/04/03/2998506.html
總結(jié)
以上是生活随笔為你收集整理的I2C总线学习(四)--读写过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 怎么用注册表加快开机速度 注册表优化:加
- 下一篇: centos下搭建nginx+tomca