在驱动里,主机发读指令后没有等待从机应答,而是发送两个周期sda的高电平,这便成了错误的根源
实际现象就是差分输入测量正量程范围时,数值会跳到负量程取值区间。经过逻辑分析仪显现的时序找到了问题。

如下:ads1115数据格式


所以一个正值范围的数据,丢失最高位0以后,次高位可能为1,而主机会把它存放在最高位,所以使数据掉入错误的取值范围。且采集的第八位实际为从机释放sda等待应答的电平信号,该为读取恒定为1.而第八位由于从机不再发送数据。采集的全为1,导致测量精度也不够。且计算时除以变成65535而不是32767。实际计算如果读到的值是对的,可以取绝对值除以32767(或者乘2/65535)。

测量的电压值 = (采集到的正值数据)/(2/65535)*4.096 (注:4.096为设定的满量程电压FS)

若数值在负量程区间可以用绝对值计算,再根据实际使用选择是否添加符号:

测量的电压值 = (0xffff - 采集到的负值数据)/(2/65535)*4.096 (注:根据ads1115的设定,用0xffff - 采集的负值数据 就是该负值的绝对值。负值是以二进制补码形式存在 转换数据寄存器中)

对iic的理解,由与硬件原因决定了sda总线空闲时为高定平,主机从机只能控制是否拉低电平。所以当一方释放控制权等待另一方应答或传输的数据时。如果需要应答ack或发送的位为0就把总线电平拉低,否则便不对总线做任何操作,即非应答Nack为1.

这张图是否能帮助你理解为什么它的数据格式是以补码的形式展示?

关于调ads1115时差分数据错误的时序分析,以及ads1115的计算公式相关推荐

  1. 关于Proteus 8仿真STM32串口通信时显示数据错误或乱码问题解决!

    本人用Proteus 8仿真STM32F401RBT6串口通信时一直不能正确收发数据,写到板子通信数据显示正常,也在csdn查了很多人的解决办法,但都没了正常解决,直到看到某大神说到串口参数,我试着改 ...

  2. 删除文件出现 数据错误 循环冗余的解决办法

    我的移动硬盘删除一个文件夹时出现 数据错误 循环冗余的问题 无法删除,用了unlock.360 等强制删除也无效.解决办法: 很简单 : 1. 右键磁盘---属性--选工具---开始检查 2.让系统自 ...

  3. mysql 1455_关于Oracle 11g导出数据时 报 ORA-1455错误的处理

    关于Oracle 11g导出数据时 报 ORA-1455错误的处理,由于导出的该用户的表可能存在空数据表,那么可能就会出现此其异常. 关于Oracle 11g导出数据时 报 ORA-1455错误的处理 ...

  4. 设置maxJsonLength,解决ajax通过POST方式调用.net的webService时,数据过长时服务器返回500错误的问题

    设置maxJsonLength,解决ajax通过POST方式调用.net的webService时,数据过长时服务器返回500错误的问题 参考文章: (1)设置maxJsonLength,解决ajax通 ...

  5. 检查已终止。收集事实数据时检测到错误

    检查已终止.收集事实数据时检测到错误 数据类型 SQL2005 数据容量 470 MB 故障类型 服务器断电导致数据库系统表异常.消息 8921,级别 16,状态 1,第 1 行 检查已终止.收集事实 ...

  6. android获取错误原因,从http读取数据时发生OutOfMemory错误获取请求android

    我正在做一个http获取请求.我需要接收大量数据,但在读取数据时出现OutOfMemory异常.从http读取数据时发生OutOfMemory错误获取请求android 我的代码: public st ...

  7. mfc中在vector里添加控件类型的数据时出现C2248错误

    @mfc中在vector里添加控件类型的数据时出现C2248错误 这是我在.h文件中定义的2个容器 public:vector<CComboBox*> cbx;vector <CSt ...

  8. linux内核网络协议栈--监控和调优:发送数据(三十)

    译者序 本文翻译自 2017 年的一篇英文博客 Monitoring and Tuning the Linux Networking Stack: Sending Data.如果能看懂英文,建议阅读原 ...

  9. linux内核网络协议栈--监控和调优:接收数据(十五)

    译者序 本文翻译自 2016 年的一篇英文博客 Monitoring and Tuning the Linux Networking Stack: Receiving Data.如果能看懂英文,建议阅 ...

  10. 【翻译自mos文章】使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方式。...

    [翻译自mos文章]使用aum( Automatic Undo Management) 时遇到 ORA-01555错误--- 原因和解决方式. 使用aum( Automatic Undo Manage ...

最新文章

  1. Js获取下拉框选定项的值和文本
  2. 分布式发布订阅消息系统Kafka单实例测试
  3. android finish()传参数,48. (android开发) activity间传递数据(打开浏览器、拨号盘、传参)...
  4. 机器学习:线性回归I 最小二乘法
  5. java 1.7的新特性_[Java]  JDK 1.7版本的 新特性
  6. 《数据分析实战:基于EXCEL和SPSS系列工具的实践》一3.4 数据量太大了怎么办
  7. 转行软件测试,简历怎么包装成1年工作经验的测试工程师
  8. EasyUI icon 小图标库,应有尽有(5000多个)打包下载
  9. java操作word转换pdf加水印
  10. mac拷贝文件到u盘,mac拷贝文件到u盘很慢
  11. 【知识点】关于axis的理解(python)
  12. 白嫖画师原作训练Stable Diffusion引正主不满:未经同意,说用就用?
  13. python求小于n的所有素数_Python-列出N以下所有素数的最快方法
  14. phpmyadmin 修改记录(不断更新)
  15. replaceAll(xxxx, File.separator); 报错character to be escaped is missing-1
  16. 嵌入式第四课(继续SPI之路)
  17. [OS-Linux] CentOS 7.x 系统安装以及常用配置
  18. JAVA巡云轻论坛系统源码
  19. 商家代运营=商家+代运营?
  20. 黑客入门教程(非常详细)从零基础入门到精通,看完这一篇就够了

热门文章

  1. 收集一些电子书下载的网站
  2. 【Python】str()函数
  3. 网赚项目 - 利用社区广告牌,空手赚钱创业项目
  4. SAP注塑行业ERP系统软件的分析
  5. 树莓派(Raspberry Pi)安装五笔输入法,五笔拼音混合输入法
  6. 计算机不能正常开机怎么处理,电脑不能正常启动的原因和处理步骤
  7. python pip语句
  8. 面授班命令记录(更新中)
  9. ES6入门:模板字符串
  10. 腾讯ISUX网页前端代码分析