当前位置: 首页 > wzjs >正文

壶关网站建设技能培训机构

壶关网站建设,技能培训机构,网络综合布线设计报告,asp网站怎么连接数据库芯片内部温度传感器前言一、什么是内部温度传感器?二、实验过程1.STM32CubeMX配置2.代码实现3.实验结果总结前言 本章介绍STM32芯片温度传感器的使用方法和获取方法。 一、什么是内部温度传感器? STM32 有一个内部的温度传感器,可以用来测…

芯片内部温度传感器

  • 前言
  • 一、什么是内部温度传感器?
  • 二、实验过程
    • 1.STM32CubeMX配置
    • 2.代码实现
    • 3.实验结果
  • 总结


前言

本章介绍STM32芯片温度传感器的使用方法和获取方法。

一、什么是内部温度传感器?

STM32 有一个内部的温度传感器,可以用来测量 CPU 及周围的温度( 内部温度传感器更适合于检测温度的变化,需要测量精确温度的情况下,应使用外置传感器 )。对于 STM32F103来说,该温度传感器在内部和 ADC1_IN16 输入通道相连接,此通道把传感器输出的电压转换
成数字值。温度传感器模拟输入推荐采样时间是 17.1us。STM32F103 内部温度传感器支持的温度范围为:-40~125 度。精度为±1.5℃左右。STM32 内部温度传感器的使用很简单,只要设置一下内部 ADC,并激活其内部温度传感器通道就差不多了。关于 ADC 的设置,我们在上一章已经进行了详细的介绍,这里就不再多说。接下来我们介绍一下和温度传感器设置相关的两个地方。第一个地方,我们要使STM32 的内部温度传感器,必须先激活 ADC 的内部通道,这里通过 ADC_CR2 的 AWDEN 位(bit23)设置。设置该位为 1 则启用内部温度传感器。第二个地方,STM32 的内部温度传感器固定的连接在 ADC1 的通道 16 上,所以,我们在设置好 ADC1 之后只要读取通道 16 的值,就是温度传感器返回来的电压值了。根据这个值,我们就可以计算出当前温度。计算公式如下:
𝑈(℃) ={ (V25-Vsense) / Avg_Slope}+25
式子中:
V25 = Vsense 在 25 度时的数值(典型值为:1.43)
Avg_Slope = 温度与 Vsense 曲线的平均斜率(单位:mv/℃或 uv/℃)(典型值:4.3mv/℃)。
利用以上公式,我们就可以方便的计算出当前温度传感器的温度了。

从下面ADC通道列表中可以看到,ADC1的16通道连接内部的温度传感器
在这里插入图片描述

二、实验过程

1.STM32CubeMX配置

选择芯片stm32f103c6t6,新建工程

在这里插入图片描述

设置时钟源,最小系统外部晶振8Mhz,作为外部高速HSE时钟源。由于没有外接外部低速晶振,这里低速时钟源选择旁路时钟源。

在这里插入图片描述

配置时钟树,这里使用官方推荐的配置

在这里插入图片描述
为了展示内部温度的变化,我们配置USART1,打印获取温度的结果
在这里插入图片描述
USART1的参数配置如下,波特率115200,传输数据长度为8 Bit,奇偶检验无,停止位1.其他参数默认
在这里插入图片描述
配置ADC,激活ADC1温度传感器通道,设置右对齐,关闭扫描、连续及间断模式,使能regular conversion,设置软件触发、设置采样时间239.5个周期(19.96us)
在这里插入图片描述
Code Generator中设置只拷贝使用到的库,分离.c和.h文件

在这里插入图片描述

设置好项目名称和路径,点击GENERATE CODE即可,生成后使用keil5 IDE打开。

在这里插入图片描述

2.代码实现

在usart.c文件后面添加如下代码,代码中添加了#ifdef宏定义进行条件编译,如果使用GUNC编译,则PUTCHAR_PROTOTYPE 定义为int __io_putchar(int ch)函数,否则定义为int fputc(int ch, FILE *f)函数。

/* USER CODE BEGIN 0 */
#include "stdio.h"
#ifdef __GNUC__/* With GCC/RAISONANCE, small printf (option LD Linker->Libraries->Small printfset to 'Yes') calls __io_putchar() */#define PUTCHAR_PROTOTYPE int __io_putchar(int ch)
#else#define PUTCHAR_PROTOTYPE int fputc(int ch, FILE *f)
#endif /* __GNUC__ */
/*** @brief  Retargets the C library printf function to the USART.* @param  None* @retval None*/
PUTCHAR_PROTOTYPE
{/* Place your implementation of fputc here *//* e.g. write a character to the EVAL_COM1 and Loop until the end of transmission */HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xFFFF);return ch;
}
/* USER CODE END 0 */

main函数如下:

int main(void)
{/* USER CODE BEGIN 1 *//* USER CODE END 1 *//* MCU Configuration--------------------------------------------------------*//* Reset of all peripherals, Initializes the Flash interface and the Systick. */HAL_Init();/* USER CODE BEGIN Init *//* USER CODE END Init *//* Configure the system clock */SystemClock_Config();/* USER CODE BEGIN SysInit *//* USER CODE END SysInit *//* Initialize all configured peripherals */MX_GPIO_Init();MX_ADC1_Init();MX_USART1_UART_Init();/* USER CODE BEGIN 2 */HAL_ADC_Start(&hadc1);	HAL_ADC_PollForConversion(&hadc1,10);	/* USER CODE END 2 *//* Infinite loop *//* USER CODE BEGIN WHILE */while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */float AD_Value = HAL_ADC_GetValue(&hadc1);float Vol_Value = AD_Value*(3.3/4096);	float Temperature = (1.43 - Vol_Value)/0.0043 + 25;	printf("MCU Internal Temperature: %.2f¡æ\r\n",Temperature);printf("\r\n");HAL_Delay(1000);}/* USER CODE END 3 */
}

3.实验结果

可以看到打印的实验结果如下
在这里插入图片描述

总结

以上介绍了STM32芯片温度传感器的使用方法和获取方法,代码都在群里,大家一起学习。

http://www.dtcms.com/wzjs/104341.html

相关文章:

  • 佳木斯网站建设哪家好百度seo标题优化软件
  • 定制网站制作服务商全国最新疫情最新消息
  • 龙岗外贸网站建设公司价格河北百度代理公司
  • 如何制作一个php网站源码信息流优化师职业规划
  • 填手机号的广告怎么优化关键词
  • 国外域名网站推荐网站制作企业
  • 室内设计在哪里接网单vue seo 优化方案
  • 在上海做网站站内推广的方法和工具
  • 新疆生产建设兵团信访局网站seo外链发布软件
  • 建设局网站公告网站营销网
  • 营销策略的概念和内容seo营销
  • 域名可以免费注册吗seo技术 快速网站排名
  • 建网站网站收录批量查询工具
  • 大兴做网站360提交入口网址
  • b2b网站运营应该注意什么站长之家域名
  • wordpress strip tags广州百度搜索排名优化
  • 泉州做网站便宜淘大象排名查询
  • 中英互译网站怎么做天津建站网
  • 宣城做网站链接提交入口
  • 网页制作模板秋季seo研究中心怎么了
  • 优秀学习网站怎么自己找外贸订单
  • 宁波建设公司网站网站seo优化报告
  • 电子商务与网络营销题库网络营销推广及优化方案
  • 普通网站和营销型网站的区别是什么网站在线客服系统源码
  • 短视频公司网站建设方案搜索关键词查询工具
  • 保定网站建设公司南京企业网站排名优化
  • 学做网站教程天津网站快速排名提升
  • 闵行区新闻网网站厦门seo俱乐部
  • 网站建设基本流程备案怎么在网上推广广告
  • 灯具网站怎么做廊坊百度快照优化排名