最近在用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.实际测试结果如下
我首先是室内温度的测试,然后再测量冰块的温度,后两位为小数。测试结果还可以。
文章浏览阅读827次。OCTAVE介绍: Octave是一种高层解释类编程语言,旨在解决线性和非线性的数值计算问题。Octave为GNU项目下的开源软件,早期版本为命令行交互方式,4.0.0版本发布基于QT编写的GUI交互界面。Octave语法与Matlab语法非常接近,可以很容易的将matlab程序移植到Octave。同时与C++,QT等接口较Matlab更加方便。 它最初是一个用于本科生化工反应器设计的教学课件,_octave由来
文章浏览阅读1.1k次,点赞4次,收藏16次。如果不是有太多自由时间,不要过度投入到数学上,或者说不要系统大量地学习,可以遇到不懂的再去学习相关数学知识。(本文部分摘自图灵的猫公众号 )微积分微积分是现代数学的基础,线性代数,矩阵论,概率论,信息论,最优化方法等数学课程都需要用到微积分的知识。单就机器学习和深度学习来说,更多用到的是微分。积分基本上只在概率论中被使用,概率密度函数,分布函数等概念和计算都要借助于积分来定义或计算。 几乎所有学习算法在训练或者预测时都是求解最优化问题,因此需要依赖于微积分来求解函数的极值,而模型中某些函数的选取_机器学习用哪种数学只是更多?
文章浏览阅读58次。http://www.ibm.com/developerworks/cn/web/1006_qiujt_jsfunctional/ JavaScript 是一门优美的语言,具有动态性,弱类型,并有 C 和 LISP 的双重语法,重要的是,她本身是“可编程”的。文章先对 JavaScript 的函数式编程特性做一些介绍,然后讨论函数式编程在实际项目中..._javascript node 18.12.2 实现一个sum函数,输入位为一个数组,输出为数组内
文章浏览阅读933次。我也是在网上找了好久解决办法 其实很简单在visual code终端中输入chcp 936即可。_c++string不能输出中文
文章浏览阅读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训练自己的数据集
文章浏览阅读435次。深度学习发展至今,语言、视觉、推荐、代码生成等多个领域相继出现一些“大模型”成果,不断刷新着人们对AI的认知与想象。深度学习依赖对大量数据的训练,而“大模型”的参数更多、函数更复杂,这样的特征使得模型所演算出来的结果更精准。随着万物互联世界的进一步发展,数据量的扩展与数据收集已不再是难题,随之而来的新命题是如何处理海量数据,并且做出更好地训练。早在2017年,Transformer结构被提出,使得深度学习模型参数突破了1亿;2018年,BERT网络模型的提出,使得参数量首次超过3亿规模;2020年,拥有17_luojianet底层是mindspore
文章浏览阅读333次。了解微信小程序微信小程序官方网址:https://mp.weixin.qq.com/cgi-bin/wx某大神知乎专栏地址:七月在夏天https://zhuanlan.zhihu.com/oldtimes小程序的特点 小程序适合做简单的,用完即走的应用。 小程序适合低频的应用。 小程序适合性能要求不高的应用。那些类型的应用适合小程序 微信之父张小..._下列那些程序应用不可以使用java进行开发()?aharmonyos 应用bandroid应用c微信小程序djava web应用
文章浏览阅读440次。要说近几年深度学习领域最热门的研究课题有哪些?大模型肯定在列。从 2020 年 OpenAI 发布 1750 亿参数的 GPT-3 开始,炼大模型这股潮流变得不可阻挡。依托自身效果好、泛化能力强等特点,大模型进一步增强 AI 的通用性,更成为 AI 技术和应用的新基座。科技巨头们纷纷下场,接连推出千亿甚至万亿参数级的大模型。而纵观现有大模型,NLP、CV 以及多模态成为三个主要的发力方向,这些偏向于基础大模型;同时,能否落地应用成为检测大模型能力的重要指标,因此具备丰富领域知识的行业大模型也越来越受到业界的_使用华为的的卡训练模型必须是mindspore吗
文章浏览阅读1.6k次。TabBarView和PageView都可以用来当作导航切换的容器。但还是有一些使用的区别。区别TabBarView主要展示不同ui的容器,配合TabBar导航,点击tab时,切换到不同的ui界面。比如微信,有微信、通讯录、发现、我 4大不同的模块。PageVieiw主要是展示相同页面的容器,比如今日头条app首页,根本不同的新闻类型展示不同的新闻,但页面的布局是一样的。另外PageView还支持左右滑动,可以和TabBar做联动。..._flutter tabbarview pageview
文章浏览阅读1.3k次。公司项目,打个马赛克,见谅!表单是否影响日期的必填校验。为是时,日期必填,为否时,日期可不填。具体方法为根据是否的值来改变required的值。_element ui 表单其中一个校验是以另一个值来判断
文章浏览阅读373次。【课时22】FCKEditor_1——开阔眼界:还有这么一个东西,我们可以用,而且很简单我们就把它用起来了我现在讲的这个reply呢,其实和上一个老的bbs讲的reply其实没什么区别。你如果想看呢,可以看老的,也可以看现在写的这个。但是我如果老讲同样的东西,你不烦我都觉着烦了。老师像是这么因循守旧、不思进取的人么?所以教一点新鲜玩意——不是很重要,但是教着玩~将来,有朝一日,
文章浏览阅读2k次,点赞4次,收藏38次。编辑整理 | 杨小爱今天我们将深入学习一些网站页面的项目练习,通过案例的练习,以提高我们的编程开发设计能力,今天的案例练习主要涉及到的知识有HTML、CSS、Javascript,通过练习,你也可以将这些知识应用到实际的网站开发中!01、响应式社交平台演示地址:https://codepen.io/TurkAysenur/pen/RwWKYMO02、福克斯新闻页面演示地址..._前端练习图片