1、STM32的内部温度传感器
STM32内部温度传感器与ADC的通道16相连,与ADC配 合使用实现温度测量。测量范围–40~125℃,精度 ± 1.5℃
操作流程:
1)、设置ADC相关参数
// ADC1 configuration -----------------------------
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = ENABLE;
ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel = 1;
ADC_Init(ADC1, &ADC_InitStructure);
2)、选中ADC1的通道16作为输入,设置采样时间17.1us ( Ncycle × tADC = 17.1靤 )。
// ADC1 regular channel16 Temp Sensor configuration
ADC_RegularChannelConfig(ADC1, ADC_Channel_16, 1, ADC_SampleTime_55Cycles5);
3)、设置寄存器ADC_CR2中的TSVREFE位激活温度传感器
// Enable the temperature sensor and vref internal channel
ADC_TempSensorVrefintCmd(ENABLE);
4)、转换采样值为温度
ADC转换结束以后,读取ADC_DR寄存器中的结果,转换温度值计算公式如下:
V25 - VSENSE
T(℃) = ------------ + 25
Avg_Slope
V25: 温度传感器在25℃时 的输出电压,典型值1.43 V。
VSENSE:温度传感器的当前输出电压,与ADC_DR 寄存器中的结果ADC_ConvertedValue之间的转换关系为:
ADC_ConvertedValue * Vdd
VSENSE = --------------------------
Vdd_convert_value(0xFFF)
Avg_Slope:温度传感器输出电压和温度的关联参数,典型值4.3 mV/℃。
//Converted Temperature
Vtemp_sensor = ADC_ConvertedValue * Vdd / Vdd_convert_value;
Current_Temp = (V25 - Vtemp_sensor)/Avg_Slope + 25;
2、VDDA的电压范围
STM32的数据手册规定,VDD与VDDA之间的压差不能大于300mV。ADC的工作电压范围在2.4V~3.6V,供电电压VDD范围在2.0V~3.6V.
上一篇:STM32 上使用 USB Host 读写 U 盘
下一篇:玩转STM32CubeMX | 内部温度传感器
推荐阅读最新更新时间:2024-11-11 10:58
推荐帖子
- 【Atmel SAM R21】Atmel Studio下ZLLDEMO编译失败
- 这个星期一直想把ZLLDEMO跑起来SDK在这里下的:http://www.atmel.com/zh/cn/tools/BITCLOUD-ZIGBEEPRO.aspxAtmelStudio下面编译速度极慢,楼主的渣渣本编译一次要差不多20分钟结果编译出来出现个这货:把错误内容也贴上来: Error2Thecommand\"cp-fuC:\\DocumentsandSettings\\Administrator\\MyDocuments\\At
- ljj3166 Microchip MCU
- 如何检测485总线是否能满足应用
- 在工业控制中,485是应用比较多的一种总线,但在实际施工中,有些环境对485总线的干扰比较大,用什么设备或如何检测485总线是否能满足应用呢?能否制造出一种类似fluke的网络网线产品设备来检测呢?原理是什么?大家都帮着想想。 如何检测485总线是否能满足应用如果想检测抗干扰所先要了解你应用产品的标准,然后对总线进行脉冲群试验,如果能通过那么你的抗干扰能力就可以了Re:如何检测485总线是否能满足应用
- 胖兔子 单片机
- 步进电机
- 步进电机步进电机在网络上看到一些好东西和大家一起分享分享回复:步进电机好东西啊,楼主辛苦了回复:步进电机不错!回复:步进电机谢谢,好东西,大家分享。回复:步进电机冒昧问一下,这些怎么看啊?回复:步进电机又看看回复:步进电机有做车类的朋友欢迎加入群:43259541(加入时请注明“电子设计竞赛”),希望大家能够互相帮住,我的E-mail是kd_jacky@163.com,最后祝大家都能取得理想的成绩。回复:步进电机xiaxialaikankan先谢谢楼主了
- dszhang88 单片机
- 关于WIN CE下如何结束一个任意的进程
- 在WINCE下如何结束一个任意的进程,比如,我想结束explorer.exe网上看了一段:HWNDhWnd;//先得到想要关闭的窗口的句柄//比如用FindWindowhWnd=FindWindow(NULL,_T(dlg));if(hWnd==NULL)return;//下面是关闭进程的两种方法////如果来文的则//::PostMessage(hWnd,WM_CLOSE,0,0);////
- hanbin 嵌入式系统
- 画个简单PCB
- 原理图,一个秒脉冲发生器选择“转换成PCB”,设置默认结果PCB生成到了外框外块移动之边框内自动布线DRC检查画个简单PCB步骤基本正确,没有几个元件,手工布线,单面板即可。边界好大啊,一般先把位置调整好,手动布线即可,线路尽量短而直电源端VCC太靠近输出端了,原则上讲究:信号端和电源端分开eagle继续努力 谢谢指导 记得多层板设计要求是电源层和信号层分开走线漂亮点就好了C1和C2换一下位置走线会更好,不能有90度走线,R2反转一下,另外走线太随便
- suoma PCB设计
- 【2024 DigiKey创意大赛】职场提神法宝项目-ESP32-C6与Labview进行通讯
- 核心处理代码:处理串口发送数据if(Serial.available()0){//检查串口是否有数据charval=Serial.read();//读取串口数据if(val=='1'){//如果接收到'H',则打开LEDws2812=!ws2812;;}}核心处理代码:串口发送传感器采集数据Stringdataunm='A'+String(temp.temperature)+'B
- eew_cT3H5d DigiKey得捷技术专区
设计资源 培训 开发板 精华推荐
- 适用于汽车应用的 LT3973EDD 3.3V 降压转换器的典型应用
- MIKROE-3345,用于 ISD3900 多消息记录、回放设备的 Rec&Play Click Board
- EVAL-ADF4212EB1,用于 ADF4212 双频、PLL 频率合成器的评估板
- BD48xxx系列BD48L26电压检测IC的典型应用
- DI-163 - 具有闭锁过压 (OVP) 关断保护的宽范围机顶盒电源
- 使用 NCP1234 固定频率 Carronade 控制器进行反激转换器的典型反激转换器应用
- 51单片机万年历程序.
- 使用 Analog Devices 的 LTC2925IUF 的参考设计
- 具有固定输出电压和精密使能引脚的 ADP5024 降压稳压器的典型应用电路
- 具有电源排序和 I2C 功能的 LTC3589IUJ-2 8 输出稳压器的典型应用电路