收藏官网首页
查看: 1666|回复: 0

[经验分享] 读取ch32v203芯片内部温度

106

主题

107

帖子

7261

积分

论坛元老

Rank: 8Rank: 8

积分
7261
跳转到指定楼层
楼主
 楼主| 发表于 2023-8-21 21:38:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
汉枫LPB120模块
    ch32v203带有一个内部的温度传感器,可以用于监测芯片的温度或者估算周围元器件的温度,该传感器挂载在adc1的通道16上,无需使用任何io口即可获取到。
首先,我们要编写一个adc的初始化函数,并且启用内部的温度传感器,代码注释已给出。

接下来,编写函数获取adc数值,温度传感器手册推荐采样周期为17us 因此这里选择239个采样周期

我们读取到的数值还需要换算才能得到具体的温度,因为芯片的最大电压为3.3v 因此adc换算要以3.3v为基准,我们可以先换算得到adc值对应的电压,使用mv作为单位,因为mv换算到具体的温度可以借助库自带的函数完成换算。
下面我们看一下代码

TempSensor_Volt_To_Temper()就是库自带的换算到温度的函数,输入adc采样换算得到的电压,返回温度
最后我们通过串口查看芯片的实时温度

因为温度传感器的误差在+-1.5摄氏度左右,还算大,但是基本可以判断芯片的大概温度。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

加入Q群 返回顶部

版权与免责声明 © 2006-2024 Gizwits IoT Technology Co., Ltd. ( 粤ICP备11090211号 )

快速回复 返回顶部 返回列表