IIC知識整理以及ADS1115

原文轉自:https://blog.csdn.net/g2117805/article/details/70058978

操作實例
接下來將用IIC獲取ADS1115芯片的電壓值。

SLAVE地址 
由於模塊addr pin是懸空的,參考表5應該和Ground同一個地址,爲SLAVE ADDRESS:1001000。

è¿éåå¾çæè¿°

Pointer 寄存器

è¿éåå¾çæè¿°

這個寄存器具有指向下一個寄存器的作用,類似索引,通過向該寄存器寫入不同的數據,就可指向相應的寄存器,接下來就可以對該寄存器進行操作。

以指向config寄存器操作爲例:

對寄存器config進行寫操作 
Start+地址+寫+ACK*+0000 0001+ACK*+Config_H+ACK*+Config_L+NACK*/ACK*+End

對寄存器config進行讀操作 
Start+地址+寫+ACK*+0000 0001+NACK*/ACK*+End 
ReStart+地址+讀+ACK*+Config_H*+ACK+Config_L*+NACK+End 
注:帶*表示從設備向主設備發送。

pointer寄存器中只有BIT1、BIT0有效,指向地址見表6如下: 

è¿éåå¾çæè¿°

CONFIG 寄存器 

è¿éåå¾çæè¿°

è¿éåå¾çæè¿°

Lo_thresh and Hi_thresh 寄存器

è¿éåå¾çæè¿°
上下限,寄存器中的是帶符號的補碼(負數 取反加1) 
默認: 
補碼:8000 H~7FFF H 
原碼:(-2^15)~(2^15-1)

CONVERSION寄存器 
該寄存器存着轉換得到的AD值。 
例如: 

è¿éåå¾çæè¿°
操作流程
設置 Lo_thresh 和 Hi_thresh 寄存器 
對 Lo_thresh 寫操作 
Start+地址+寫+ACK*+00000010+ACK* 
+Lo_thresh_H+ACK*+Lo_thresh_L+NACK*/ACK*+End 
對 Hi_thresh 寫操作 
Start+地址+寫+ACK*+00000011+ACK* 
+Hi_thresh_H+ACK*+Hi_thresh_L+NACK*/ACK*+End
設置CONFIG 寄存器 
Start+地址+寫+ACK*+0000 0001+ACK*+Config_H+ACK*+Config_L+NACK*/ACK*+End
讀取Conversion register 
Start+地址+寫+ACK*+0000 0000+NACK*/ACK*+End 
ReStart+地址+讀+ACK*+Conversion_H*+ACK+Conversion_L*+NACK+End
轉換
參考
[1] Semiconductor P. The i2c-bus specification[J]. 2000. 
[2] ADS1115 datasheet 
[3] wiki
--------------------- 
作者:Gao_Line 
來源:CSDN 
原文:https://blog.csdn.net/g2117805/article/details/70058978 
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章