你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32自带温度传感器

[复制链接]
不吃肉的羊 发布时间:2018-2-23 09:37

F4的芯片有自带的温度传感器


1 _: p( P9 N5 z) t

测量范围是-40到125摄氏度,误差1.5

数据手册上的说法,温度的测量是通过ADC端口进行的。

7 j: t" O/ Q1 d7 u' a2 _+ k3 k

配置外部时钟

0 X2 Q9 }9 Z( P2 W% G# ]9 X, G6 ^

时钟树我配置主频为168M

生成工程。

在主函数加上几句话


4 y6 G# p- C. B/ K; K

  while (1)0 s1 D# Z" e8 E, o$ u$ K0 |
  {
* |& c0 O/ ?! ?* S; d                HAL_ADC_Start(&hadc1);
/ V' r2 f  B- X# |                HAL_ADC_PollForConversion(&hadc1, 50);
4 D0 [. d3 A0 H; x6 T: G! b" ^9 R1 @! c4 D6 p9 Q) d, f
2 r3 U; p/ ]; m) u: Y8 F
                if(HAL_IS_BIT_SET(HAL_ADC_GetState(&hadc1), HAL_ADC_STATE_REG_EOC)) ) z( W/ h$ [/ W! g
                {
4 M. n" v! G: Y& O) d0 h* U                        AD_Value = HAL_ADC_GetValue(&hadc1);& c: h6 n+ h* {/ ^
                        AD_Value = (AD_Value*3300/4096-760)/2.5+25;
7 X! o# J& ~8 s- I$ ]1 O- B4 l; [                }7 V7 R8 X# `" I9 `
9 M9 m2 m* f9 B+ h9 K( e1 z

" K- ?2 H: u, H                HAL_Delay(1000);- s  t0 B$ D- G) J

  }

计算公式来源于数据手册:

" Z3 u& b0 E& ?7 A2 d2 `

# ?0 M4 `7 }* N. p+ u, }: k

通过硬件仿真没可以看到现在的温度:

4 Y4 m) b9 t* t3 W6 D

温度计我就没有了,直接百度下今天的天气,


$ ~. L4 |* ?4 s% o% I& F
赞 收藏 1 评论2 发布时间:2018-2-23 09:37

举报

2个回答
wudianjun2001 回答时间:2018-2-23 14:47:35
芯片内部的温度跟外边的温度不会一致的,内部的有自身发热等因素,要测环境温度的话还是用外部的比较好
七哥 回答时间:2018-2-23 20:19:25
如楼上所说,MCU内部温度传感器,测的是内部温度。就像电脑CPU温度测量一个道理,测的必须是内部温度。有热盘的芯片有个参数是热阻,比如功率LED的结温要比焊盘温度高十几二十度左右。
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版