Max31855测温的使用-程序员宅基地

技术标签: stm32  单片机  

最近在用stm32做关于max31855的程序,总结了一些使用经验。

1.Max31855的介绍

     MAX31855具有冷端补偿,将K、J、N、T或E型热电偶信号转换成数字量。 器件输出14位带符号数据,通过SPITM兼容接口、以只读 格式输出。转换器的温度分辨率为0.25℃,最高温度读数 为+1800℃,最低温度读数为-270℃,对于K型热电偶, 温度范围为-200℃至+700℃,保持±2℃精度 。

总的来说,MAX31855测温范围非常广。

2.使用Max31855的具体实现方法

 

     对于max31855,我们只需要了解是如何传输数据的,我们采用的是软件模拟SPI获取温度,驱动CS为低电平时,改变SCK的高低电平,再通过检查SO的高低电平,来获取温度。读取完整的冷端补偿热电偶温度,需要14个时钟周期。读取热电偶和参考端温度需要32个时钟周期。D31为热电偶温度符号位。其中D18到D31为热电偶周围温度的数据,(D4到D15为参考端温度的数据,一般这一部分我们不需要使用,如果需要测量参考端温度,温度分辨率应该变为0.625。那我们需要改变位数

 

             主要注意延时时间的控制。

3.代码如下

 

int32_t ReadMAX31855(void)
{
   u8 count;	
   int32_t temp=0;
   GPIO_SetBits(GPIOB,D_CS);
   delay_ms(180);
   GPIO_ResetBits(GPIOB, D_CS);//CS=0;
	    for(count=0;count<=31;count++)
		{
		  GPIO_SetBits(GPIOB, D_SCK);//read data SO
		  delay_ms(1);
		  temp<<=1;
		  if(GPIO_ReadInputDataBit(GPIOB,D_SO))
		  temp|=0x00000001;
		  GPIO_ResetBits(GPIOB, D_SCK);
		  delay_ms(1);
		}
		GPIO_SetBits(GPIOB, D_CS);//CS=1;
		temp>>=17;	
		Value = (temp*100)/4;
	
return  Value;
}

主要注意延时时间的控制。

4.实际测试结果如下

  我首先是室内温度的测试,然后再测量冰块的温度,后两位为小数。测试结果还可以。

 

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Bei147258369/article/details/124890627

智能推荐

OCTAVE_octave由来-程序员宅基地

文章浏览阅读827次。OCTAVE介绍: Octave是一种高层解释类编程语言,旨在解决线性和非线性的数值计算问题。Octave为GNU项目下的开源软件,早期版本为命令行交互方式,4.0.0版本发布基于QT编写的GUI交互界面。Octave语法与Matlab语法非常接近,可以很容易的将matlab程序移植到Octave。同时与C++,QT等接口较Matlab更加方便。 它最初是一个用于本科生化工反应器设计的教学课件,_octave由来

机器学习、深度学习需要哪些数学知识?_机器学习用哪种数学只是更多?-程序员宅基地

文章浏览阅读1.1k次,点赞4次,收藏16次。如果不是有太多自由时间,不要过度投入到数学上,或者说不要系统大量地学习,可以遇到不懂的再去学习相关数学知识。(本文部分摘自图灵的猫公众号 )微积分微积分是现代数学的基础,线性代数,矩阵论,概率论,信息论,最优化方法等数学课程都需要用到微积分的知识。单就机器学习和深度学习来说,更多用到的是微分。积分基本上只在概率论中被使用,概率密度函数,分布函数等概念和计算都要借助于积分来定义或计算。 几乎所有学习算法在训练或者预测时都是求解最优化问题,因此需要依赖于微积分来求解函数的极值,而模型中某些函数的选取_机器学习用哪种数学只是更多?

JavaScript 中的函数式编程实践-程序员宅基地

文章浏览阅读58次。http://www.ibm.com/developerworks/cn/web/1006_qiujt_jsfunctional/ JavaScript 是一门优美的语言,具有动态性,弱类型,并有 C 和 LISP 的双重语法,重要的是,她本身是“可编程”的。文章先对 JavaScript 的函数式编程特性做一些介绍,然后讨论函数式编程在实际项目中..._javascript node 18.12.2 实现一个sum函数,输入位为一个数组,输出为数组内

解决c++string类型变量无法输出中文的问题(环境:mingw+vscode)_c++string不能输出中文-程序员宅基地

文章浏览阅读933次。我也是在网上找了好久解决办法 其实很简单在visual code终端中输入chcp 936即可。_c++string不能输出中文

3D点云目标检测Complex-YOLO(训练篇)(一)———KITTI数据集预处理与制作_complex-yolo训练自己的数据集-程序员宅基地

文章浏览阅读5.8k次,点赞10次,收藏101次。KITTI datasetDownload datasetKITTI 3D Object Detection Evaluation 2017 link下载四个部分,共41.4GB解压后为四部分内容(相机校准矩阵calib、RGB图像image_2、标签label_2、点云数据velodyne) 对应的testing和training数据。其中,training数据为7481张(图片和点云对应的场景),testing数据 7518张(无label_2数据)。Data Preprocess_complex-yolo训练自己的数据集

大模型的风,还需要一个底层AI框架来落地_luojianet底层是mindspore-程序员宅基地

文章浏览阅读435次。深度学习发展至今,语言、视觉、推荐、代码生成等多个领域相继出现一些“大模型”成果,不断刷新着人们对AI的认知与想象。深度学习依赖对大量数据的训练,而“大模型”的参数更多、函数更复杂,这样的特征使得模型所演算出来的结果更精准。随着万物互联世界的进一步发展,数据量的扩展与数据收集已不再是难题,随之而来的新命题是如何处理海量数据,并且做出更好地训练。早在2017年,Transformer结构被提出,使得深度学习模型参数突破了1亿;2018年,BERT网络模型的提出,使得参数量首次超过3亿规模;2020年,拥有17_luojianet底层是mindspore

随便推点

了解微信小程序_下列那些程序应用不可以使用java进行开发()?aharmonyos 应用bandroid应用c微信-程序员宅基地

文章浏览阅读333次。了解微信小程序微信小程序官方网址:https://mp.weixin.qq.com/cgi-bin/wx某大神知乎专栏地址:七月在夏天https://zhuanlan.zhihu.com/oldtimes小程序的特点  小程序适合做简单的,用完即走的应用。  小程序适合低频的应用。  小程序适合性能要求不高的应用。那些类型的应用适合小程序  微信之父张小..._下列那些程序应用不可以使用java进行开发()?aharmonyos 应用bandroid应用c微信小程序djava web应用

内修昇思MindSpore AI框架,外重行业汇聚,华为大模型的不平凡之路_使用华为的的卡训练模型必须是mindspore吗-程序员宅基地

文章浏览阅读440次。要说近几年深度学习领域最热门的研究课题有哪些?大模型肯定在列。从 2020 年 OpenAI 发布 1750 亿参数的 GPT-3 开始,炼大模型这股潮流变得不可阻挡。依托自身效果好、泛化能力强等特点,大模型进一步增强 AI 的通用性,更成为 AI 技术和应用的新基座。科技巨头们纷纷下场,接连推出千亿甚至万亿参数级的大模型。而纵观现有大模型,NLP、CV 以及多模态成为三个主要的发力方向,这些偏向于基础大模型;同时,能否落地应用成为检测大模型能力的重要指标,因此具备丰富领域知识的行业大模型也越来越受到业界的_使用华为的的卡训练模型必须是mindspore吗

Flutter中TabBarView与PageView该如何选择_flutter tabbarview pageview-程序员宅基地

文章浏览阅读1.6k次。TabBarView和PageView都可以用来当作导航切换的容器。但还是有一些使用的区别。区别TabBarView主要展示不同ui的容器,配合TabBar导航,点击tab时,切换到不同的ui界面。比如微信,有微信、通讯录、发现、我 4大不同的模块。PageVieiw主要是展示相同页面的容器,比如今日头条app首页,根本不同的新闻类型展示不同的新闻,但页面的布局是一样的。另外PageView还支持左右滑动,可以和TabBar做联动。..._flutter tabbarview pageview

当element表单验证根据别的值动态校验的解决办法_element ui 表单其中一个校验是以另一个值来判断-程序员宅基地

文章浏览阅读1.3k次。公司项目,打个马赛克,见谅!表单是否影响日期的必填校验。为是时,日期必填,为否时,日期可不填。具体方法为根据是否的值来改变required的值。_element ui 表单其中一个校验是以另一个值来判断

【学习摘记】马士兵bbs改良版_课时22-24_FCKEditor-程序员宅基地

文章浏览阅读373次。【课时22】FCKEditor_1——开阔眼界:还有这么一个东西,我们可以用,而且很简单我们就把它用起来了我现在讲的这个reply呢,其实和上一个老的bbs讲的reply其实没什么区别。你如果想看呢,可以看老的,也可以看现在写的这个。但是我如果老讲同样的东西,你不烦我都觉着烦了。老师像是这么因循守旧、不思进取的人么?所以教一点新鲜玩意——不是很重要,但是教着玩~将来,有朝一日,

【案例练习】18—27个适合初学前端开发人员的项目练习案例-程序员宅基地

文章浏览阅读2k次,点赞4次,收藏38次。编辑整理 | 杨小爱今天我们将深入学习一些网站页面的项目练习,通过案例的练习,以提高我们的编程开发设计能力,今天的案例练习主要涉及到的知识有HTML、CSS、Javascript,通过练习,你也可以将这些知识应用到实际的网站开发中!01、响应式社交平台演示地址:https://codepen.io/TurkAysenur/pen/RwWKYMO02、福克斯新闻页面演示地址..._前端练习图片