|
ch32v203带有一个内部的温度传感器,可以用于监测芯片的温度或者估算周围元器件的温度,该传感器挂载在adc1的通道16上,无需使用任何io口即可获取到。
首先,我们要编写一个adc的初始化函数,并且启用内部的温度传感器,代码注释已给出。
接下来,编写函数获取adc数值,温度传感器手册推荐采样周期为17us 因此这里选择239个采样周期
我们读取到的数值还需要换算才能得到具体的温度,因为芯片的最大电压为3.3v 因此adc换算要以3.3v为基准,我们可以先换算得到adc值对应的电压,使用mv作为单位,因为mv换算到具体的温度可以借助库自带的函数完成换算。
下面我们看一下代码
TempSensor_Volt_To_Temper()就是库自带的换算到温度的函数,输入adc采样换算得到的电压,返回温度
最后我们通过串口查看芯片的实时温度
因为温度传感器的误差在+-1.5摄氏度左右,还算大,但是基本可以判断芯片的大概温度。
|
|