ESP-S3/C3读取内部温度传感器
·
ESP32-S3/C3内置有温度传感器,用于测量芯片内部温度。温度传感器模块包含一个8位Sigma-Delta型ADC和一个用于补偿温度偏移的DAC。


首先是根据OKGUGU的文章进行一定的修改,感谢OKGUGU。
方法:
包含头文件,虽然plaform io的目录结构中没有发现这个头文件,但是包含上去没啥问题;
#include "driver/temp_sensor.h"
//1.插入头文件
#include "driver/temp_sensor.h"
void setup() {
Serial.begin(9600);// 串口初始化,等下打印信息
//2.定义对象 设定其值为默认值,即
//temp_sensor 的 dac_offset = TSENS_DAC_L2
//temp_sensor 的 clk_div = 6
temp_sensor_config_t temp_sensor = TSENS_CONFIG_DEFAULT();
//DEFAULT: range:-10℃ ~ 80℃, error < 1℃.
//TSENS_DAC_DEFAULT 默认偏置,即TSENS_DAC_L2
//TSENS_DAC_L2 offset = 0, measure range:-10℃ ~ 80℃, error < 1℃.
//其中temp_sensor_config_t temp_sensor = TSENS_CONFIG_DEFAULT();
//这句也可以写为如下/* xxxx */所示,二选一即可
/*
temp_sensor_config_t temp_sensor = {
.dac_offset = TSENS_DAC_L2,
.clk_div = 6,
};
*/
temp_sensor_set_config(temp_sensor); //3.设定配置
temp_sensor_start(); //4.传感器启用
Serial.println("Temperature sensor started");
}
void loop()
{
//温度
float tsens_out; // 5.定义变量存放
temp_sensor_read_celsius(&tsens_out); // 6.温度数值存放
Serial.printf("Temperature out celsius %f°C\r\n", tsens_out);//打印数值
delay(1000);
}
如果有其他疑问,欢迎留言,会尽可能回复
更多推荐
https://docs.espressif.com/projects/esp-idf/zh_CN/v4.4.2/esp32s3/api-reference/peripherals/temp_sensor.html


所有评论(0)