深入解析:ARM架构学习9——LM75温度传感器+ADC转换器

news/2025/9/24 14:00:30/文章来源:https://www.cnblogs.com/yxysuanfa/p/19109140

一、AT24C02跨页写入问题及代码优化

  • 发现当写入数据超过单页8字节边界时会出现资料回滚错误,原因是AT24C02在跨页写处理时必须先发送STOP信号再重新发送START信号。
  • 在循环写入过程中加入判断逻辑:若当前地址(REG + i + 1)为8的整数倍且非结果一个字节,则插入STOP后再重新START,并更新寄存器地址为下一页起始地址。
  • 针对不同容量型号(如24C04/08)需使用双字节地址指针的问题,优化函数接口,增加regLen参数指定地址长度(1或2字节),并通过循环配合右移操作实现多字节地址的正确发送。

二、LM75温度传感器接入与驱动开发

  • 新实验器件LM75温度传感器的基本参数:工作电压2.7~5.5V,通过A0/A1/A2引脚配备从机地址,默认焊接至GND形成地址90h(左移后为81h)。
  • 说明其核心寄存器包括只读温度寄存器(地址0x00),读取16位数据后需右移7位并乘以0.5得到实际温度值。
  • I2C读取时序无需修改底层驱动,只需调整从机地址和寄存器地址即可复用现有代码框架。

三、编写环境与调试注意事项

  • 警告移植的printf函数不支持浮点数输出(%f格式符无效),直接使用会导致程序卡死。
  • 指出进行浮点运算前必须启用FPU协处理器,在启动文件start.s中调用enable_FPU函数,否则执行浮点指令将引发CPU死机。
  • 建议分步调试:先验证原始寄存器值是否能正确读取并随温度变化,再处理数据转换和表现逻辑。

四、ADC模数转换器原理详解

  • 将就是ADC的核心作用模拟电压信号转换为数字量,而物理量(如温度、光照)需先通过传感器转换为电压信号。

ADC的分类:

  • 逐次比较ADC:精度上优于flash型ADC,速度优于双积分型ADC
  • 双积分型ADC:
  • flash型ADC:
  • 逐次逼近型ADC:
  • 逐次逼近型ADC的工作原理:利用比较器不断将参考电压二分并与待测电压比较,逐步逼近真实值。
  • N位ADC的分辨率由2^N决定,采样结果可通过公式“ADC原始值 × 参考电压 / 2^N”计算得出实际电压。
  • 解释了ADC的关键参数:量程(由参考电压决定)和分辨率(即ADC位数),并说明超出量程会导致削顶现象。
    • V=adc原始值*参考电压/2~(adc位数)
    • adc:量程:指的是adc能转换的模拟电压的范围,由参考电压决定。
    • 分辨率:adc的位数。
  • 提到对于超量程或微弱信号,可依据设计分压电路或放大电路进行信号调理。

五、IMX6ULL芯片ADC模块特性与寄存器配置

光照传感器原理:(光敏电阻)

  • 开发板所用ADC为线性逐次逼近型,支持8/10/12位分辨率,最高采样率达1MSPS。
  • 核心板原理图,确定ADC参考电压采用差分引脚(VDDA_ADC3P3H/L)以提高抗干扰能力和精度。

  • ADC拥有10个外部输入通道(IN0-IN9),可利用多路选择开关进行通道切换。
  • 解读关键寄存器功能:
    • 控制寄存器(HC0):用于使能中断和选择输入通道,强调首次切换通道需执行“伪切换”操作以触发采样。

    • 状态寄存器(R0):包含COCO标志位,表示一次转换搞定,是读取数据的前提条件。
    • 信息寄存器(R0):存储12位ADC原始值,低12位有效。
    • 配置寄存器(CFG):可配备数据溢出覆盖使能、硬件平均功能(支持4/8/32样本平均)和高速采样模式。
  • ADC具备自校准功能,可在使用前执行以提高测量精度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

破局 “节能不省钱” 悖论:开源 EMS 生态如何让中小企业用 1/3 成本实现能效跃升?

对于广大中小企业而言,能源成本是运营中不容忽视的核心支出。一个普遍的共识是:节能就是省钱。然而,当企业主们真正调研能源管理系统(EMS)时,往往会被高昂的初始投入和隐形成本劝退——动辄数十万的软件许可费、…

旅游网站开发目标网站建设人员叫什么

在使用Windows 10工作时会遇到形形色色的问题,比如笔记本电脑搜索不到无线网络。那么如何排除故障呢?下面小编与你分享具体步骤和方法。工具/材料Windows 10操作系统操作方法第1:启动Windows 10操作系统,如图所示。点击任务栏&quo…

实用指南:U盘歌单管理器 (专业车载音乐播放列表制作工具)

实用指南:U盘歌单管理器 (专业车载音乐播放列表制作工具)2025-09-24 13:58 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important…

iOS 26 性能测试实战,如何评估启动速度、CPUGPU 负载、帧率与系统资源适配(uni-app 与 iOS 原生应用性能方案)

本文围绕 iOS 26 性能测试展开,结合 Liquid Glass 特效与系统机制变化,介绍启动速度、CPU/GPU 渲染、帧率、资源加载等关键指标测试方法与工具组合,并给出 uni-app 与原生 App 的实战优化策略。iOS 26 正式发布后,…

P14062 【MX-X21-T7】[IAMOI R5] 若我不曾见过太阳 题解

考虑对于每个 \(i\) 求出使 \([1,i]\) 全部排到 \([i+1,n]\) 之前的最小操作次数。将 \(\le i\) 的数视为 \(0\),\(>i\) 的数视为 \(1\),根据操作的顺序,位置差较大的 \((1,0)\) 有序对会优先被交换。 也就是说,…

unity确定性帧同步框架

https://github.com/aaa719717747/TrueSyncExample

03-堆和栈

概述 堆和栈是程序运行时内存分配的两个核心区域,用途、管理方式和特性差异很大。且堆(内存区域)与上篇文章的链表(数据结构)有一定关联,但本质不同 —— 堆是一块内存空间,而链表常被用作管理堆内存的工具。下…

深入解析:Django事务

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

做网站6000左右的电脑网上购物商城系统设计

3.mysql数据库3.10 单表查询3.10.1. 简单查询查询在数据库中使用的频率是最高的:十次查询,一次增删改。1)建表2)插入数据3.10.1.1. 选择字段:selectselect 字段名1,字段名2…… from 表名 where 条件;3.10.1.2. 字段重命名(别名):…

视频汇聚平台EasyCVR如何构建智慧农业监控监管系统?

视频汇聚平台EasyCVR如何构建智慧农业监控监管系统?现代农业的迅速发展中,集成监控管理系统已成为提高农业生产效率和优化管理的关键工具。EasyCVR视频汇聚平台作为一个具有高度可扩展性、灵活的视频处理能力和便捷的…

一套自用的git提交规范,可清晰的识别到关联的任务/bug - 实践

一套自用的git提交规范,可清晰的识别到关联的任务/bug - 实践pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Con…

学做ps的软件的网站有哪些内容石家庄网站建设王道下拉棒

博主介绍:黄菊华老师《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。 所有项目都配有从入门到精通的基础知识视频课程&#xff…

高平市规建设局网站学生个人网站布局

这年头,在职场不但要会做,还要会说。 会说还不能平铺直叙的说,还要能把普通的工作说出话来,这就需要一些“考究”的用词。尤其是在某些头部企业的带领下,业务不够、产品不行、解决方案不够新,就用华丽的辞…

撕开厂商锁定黑箱:MyEMS 如何用开源代码夺回能源管理的 “自主控制权”?

在能源管理数字化浪潮中,许多企业曾满怀期待引入专业系统,却最终陷入深深的困境:系统建成之日,竟是受制于人之时。高昂的许可费、昂贵的定制开发、无休止的升级服务费、封闭的数据格式……这些看似专业的能源管理系…

继续 Vibe Coding 撸工具:Markdown写作 + 一键发布

又是感谢Vibe Coding的一天,最近尝试用 CodyBuddy 来重构一下之前的文章发布工具OpenWrite,经过一周的迭代,现在基本差不多恢复之前80%的功能了。如果你跟我一样,平时写点东西,又讨厌自己的文章被别人搬运,那么可…

C造桥与砍树

链接 题意: 有n个带权的点以及参数k,要求生成一个最小生成树,每个点之间的边权为两个点权之和模k的结果 思路: 对所有权值模k后 发现对于一个权值为val的结点u,链接它的最优结点是 现在还没进入生成树的 (权值最…

基于衍射神经网络的光学高速粒子分类体系A1(未做完)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

Keil uVision5 MDK 5.42安装教程(支持ARM Cortex全系列开发)

软件介绍 Keil uVision5 MDK 5.42是ARM公司推出的嵌入式处理器集成开发环境最新版本,专为Cortex-M、Cortex-A、ARM7、ARM9等ARM内核处理器设计。该版本集成ARM Compiler编译器、μVision IDE调试器及Flash烧写模块,支…

2024 ICPC ECfinal E

E. Corrupted Scoreboard Log 大模拟,暴搜。 预处理出 \(0\sim 299\) 和 \(1\sim 100\) 的组合字符串,后续处理出每个 \(\text{try}\) 前面的数字就能得到是哪些组合了,注意 \(\text{22tries}\) 这种还可以拆成 \(\…

自助建子站wordpress粉色主题

1、引言 用SHT30测温湿度,SHT30是I2C通信总线,具体信息去看Datasheet文档:https://pdf1.alldatasheet.com/datasheet-pdf/view/897974/ETC2/SHT30.html。操作系统是Linux,机器是CM3计算板,当然也可以是树莓派和其他主…