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

操作实例
接下来将用IIC获取ADS1115芯片的电压值。

SLAVE地址 
由于模块addr pin是悬空的,参考表5应该和Ground同一个地址,为SLAVE ADDRESS:1001000。

IIC知识整理以及ADS1115

Pointer 寄存器

IIC知识整理以及ADS1115

这个寄存器具有指向下一个寄存器的作用,类似索引,通过向该寄存器写入不同的数据,就可指向相应的寄存器,接下来就可以对该寄存器进行操作。

以指向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如下: 

IIC知识整理以及ADS1115

CONFIG 寄存器 

IIC知识整理以及ADS1115

IIC知识整理以及ADS1115

Lo_thresh and Hi_thresh 寄存器

IIC知识整理以及ADS1115
上下限,寄存器中的是带符号的补码(负数 取反加1) 
默认: 
补码:8000 H~7FFF H 
原码:(-2^15)~(2^15-1)

CONVERSION寄存器 
该寄存器存着转换得到的AD值。 
例如: 

IIC知识整理以及ADS1115
操作流程
设置 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 
版权声明:本文为博主原创文章,转载请附上博文链接!

相关文章:

  • 2023-03-17
  • 2021-12-17
  • 2021-12-05
  • 2021-11-19
  • 2021-11-23
  • 2022-01-03
  • 2021-11-28
  • 2021-10-05
猜你喜欢
  • 2021-04-20
  • 2021-07-26
  • 2021-06-26
  • 2021-08-02
  • 2021-08-25
  • 2022-12-23
相关资源
相似解决方案