当前位置: 首页 > news >正文

EFM32JG系列MCU内部温度传感器使用方法

在很多电子类应用场合中,我们经常需要采集产品工作的周围环境温度,一般采取的方式有两种:

1)外加温度传感器

2)采用MCU内部温度传感器

 

外加温度传感器会增加产品的成本以及布板空间,所以在很多场合,我们只要使用内部温度传感器就可以了,今天给大家介分享一下自带内部温度传感器EFM32JG系列MCU的使用方法和步骤。

 

基本原理:

EFM32JG的内部ADC集成在模拟模块部分,内部温度传感器上面的电压随着温度变化,需要通过12bit ADC采集温度传感器的ADC值,把ADC值换算成为温度值。

 

第一步:ADC采集

设置需要采集内部温度传感器的ADC通道,这里需要注意,ADC采用精度需要设置为12bit,参考源选择内部Vref 1.25V,采集信号源选择内部温度传感器。

 

第二步:读取内部出厂校准值

需要读取两个值:

1)校准的温度值

calTemp0 = ((DEVINFO->CAL & _DEVINFO_CAL_TEMP_MASK)

/  >> _DEVINFO_CAL_TEMP_SHIFT);

 

2)校准温度在46度下的ADC值

calValue0 = ((DEVINFO->ADC0CAL3

/* _DEVINFO_ADC0CAL3_TEMPREAD1V25_MASK is not correct in

current CMSIS. This is a 12-bit value, not 16-bit. */

& 0xFFF0)

>> _DEVINFO_ADC0CAL3_TEMPREAD1V25_SHIFT);

 

第三步:根据实际环境ADC采用的值,与校准值之间进行运算补偿,得出环境温度值

计算公式为:

TCELSIUS = CAL_TEMP-(ADC0CAL3_TEMPREAD1V25 - ADC_result)×VFS /(4096× V_TS_SLOPE)

 

具体代码实现:

readDiff =calValue0/2 - adcSample;

temp=((float)readDiff * 1250);

temp/=(4096 * -1.835);

/* Calculate offset from calibration temperature */

temp =(float)calTemp0-temp;

 

相关技术文档:

Silicon Labs EFM32JG12 Jade Gecko 32位MCU数据手册 详情>>>

Silicon Labs EFM32JG1 32 bit MCU 详细数据手册(英文) 详情>>>

 

看到这里您是否又有项目灵感需实现,点击下面开发软件帮你忙。

Silicon Labs Simplicity Studio平台开发工具

转载于:https://www.cnblogs.com/Ph-one/p/7690755.html

相关文章:

  • 1.1组合电路、时序电路在计算机课程中的地位
  • 4.2说说计算机中的异常
  • 并发编程的几种形式
  • 【传感器】BMA253 数字,三轴加速度传感器
  • 数据结构(六)——二叉树 前序、中序、后序、层次遍历及非递归实现 查找、统计个数、比较、求深度的递归实现...
  • c语言的按位运算符
  • 汇编语言如何取段地址的
  • 二路归并排序算法
  • 什么是MSB/LSB码?
  • 平衡二叉树(AVL树)
  • 二叉排序树(查询、插入、删除)
  • 数据结构中的堆和操作系统里的堆不一样为什么都叫堆呢?
  • 关于Simplicity Studio使用math.h编译出错
  • 正态分布(Normal distribution)又名高斯分布(Gaussian distribution)
  • MLP(多层神经网络)介绍
  • [译]CSS 居中(Center)方法大合集
  • crontab执行失败的多种原因
  • exif信息对照
  • Laravel核心解读--Facades
  • learning koa2.x
  • maven工程打包jar以及java jar命令的classpath使用
  • node学习系列之简单文件上传
  • PAT A1092
  • SwizzleMethod 黑魔法
  • Twitter赢在开放,三年创造奇迹
  • 分享几个不错的工具
  • 简单实现一个textarea自适应高度
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 你对linux中grep命令知道多少?
  • PostgreSQL之连接数修改
  • #Linux(Source Insight安装及工程建立)
  • #微信小程序:微信小程序常见的配置传值
  • #中国IT界的第一本漂流日记 传递IT正能量# 【分享得“IT漂友”勋章】
  • (C语言)求出1,2,5三个数不同个数组合为100的组合个数
  • (pojstep1.3.1)1017(构造法模拟)
  • (八)c52学习之旅-中断实验
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (新)网络工程师考点串讲与真题详解
  • (转)JAVA中的堆栈
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .net 4.0发布后不能正常显示图片问题
  • .NET CLR Hosting 简介
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .Net程序帮助文档制作
  • .Net程序猿乐Android发展---(10)框架布局FrameLayout
  • []我的函数库
  • []新浪博客如何插入代码(其他博客应该也可以)
  • [16/N]论得趣
  • [HackMyVM]靶场Crossbow
  • [HarmonyOS]第一课:从简单的页面开始
  • [ios] IOS文件操作的两种方式:NSFileManager操作和流操作【转】