disheng4688 发表于 2015-11-18 13:14:28

【NUCLEO-L476RG开发】芯片内部温度传感器使用(ADC+DMA+USART)



Datasheet上提到芯片内部有一个温度传感器,在内部与ADC1/ADC3_IN17相连,并且是线性的。所以,才有了这个实验的想法(以前学习F103时也有这个实验)。



整体思路:ADC采集转换电压信号,由DMA至内存,在有串口打印到上位机。比较简单,毕竟初次使用,时间又有限。以后,有时间搞点深入的。
缺点:没有采用硬件或软件的优化,测温不准确。
1.新建Nucleo L476RG的STM32CUBEMX工程。
2.Pinout设置。



3.时钟配置。


4.ADC1模块设置。



5.USART1模块设置。


6.工程生成。因为print函数,用到了串口重定向。此处参考了之前网友分享的开发笔记,谢谢了。


7.用户代码编写并编译,下载。


8.最终效果。



初次使用STM32CUBEMX感觉有些不适应,但是这种可视化的配置方法显得很方便。另外,HAL库赶快出一个中文的解释文档吧。


最后,上传参考程序。





Paderboy 发表于 2015-11-18 17:46:11

多谢分享,

foxglove 发表于 2015-11-18 20:32:03

芯片内部温度传感器使用(ADC+DMA+USART)

ataudio 发表于 2015-12-28 13:42:11

好文分享,多谢楼主。

ataudio 发表于 2015-12-28 16:49:16

已经弄明白了。打扰了。

本帖最后由 ataudio 于 2015-12-29 09:39 编辑

请教一下楼主:工程中的adc.c,gpio.c等以及.h文件,此工程能自动生成吗?为何我按照上述cubeMX配置却没有生成这些文件。@disheng4688

2015-12-29 已经弄明白了。打扰了。

yygkqzh 发表于 2017-4-27 21:08:28

谢谢楼主分享

xinyu1650 发表于 2018-5-3 13:39:17

非常感谢!

ChinaJoe 发表于 2020-3-10 17:12:28

非常感谢,研究一下。

Glenxu 发表于 2022-11-28 09:33:42

直接写原公式有问题,请使用下列公式更好些,害我丢了一分(下载)。Current_Temp=(V25-ADC_ConvertedValue)/AVG_SLOPE+25;       

页: [1]
查看完整版本: 【NUCLEO-L476RG开发】芯片内部温度传感器使用(ADC+DMA+USART)