原文轉自: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
版權聲明:本文爲博主原創文章,轉載請附上博文鏈接!