ESP32C3读取芯片内部温度的方法

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

temp_sensor_config_t temp_sensor = {
    .dac_offset = TSENS_DAC_L2,
    .clk_div = 6,
};
temp_sensor_set_config(temp_sensor);

TSENS_DAC_L0
offset = -2,测量范围:50℃ ~ 125℃,误差<3℃

TSENS_DAC_L1
offset = -1,测量范围:20℃ ~ 100℃,误差<2℃

TSENS_DAC_L2
offset = 0,测量范围:-10℃ ~ 80℃,误差<1℃

TSENS_DAC_L3
offset = 1,测量范围:-30℃ ~ 50℃,误差<2℃

TSENS_DAC_L4
offset = 2,测量范围:-40℃ ~ 20℃,误差<3℃

TSENS_DAC_DEFAULT = TSENS_DAC_L2

2、通过调用方法temp_sensor_start()来启动温度传感器,开始温度测量。
3、获取当前温度

float tsens_out = 0.0;
temp_sensor_read_celsius(&tsens_out);

4、通过调用方法temp_sensor_stop()来关闭温度传感器,停止温度测量。
5、使用例程

#include "driver/temp_sensor.h"

void setup() 
{
  Serial.begin(115200);
  temp_sensor_config_t temp_sensor = {
    .dac_offset = TSENS_DAC_L2,
    .clk_div = 6,
  };
  temp_sensor_set_config(temp_sensor);
  temp_sensor_start();
}

void loop() 
{
  float tsens_out;
  temp_sensor_read_celsius(&tsens_out);
  Serial.printf("%f\r\n", tsens_out);
  delay(500);
}
### ESP32-C3 芯片 FN 和 FH 的区别 ESP32-C3系列芯片有不同的型号,主要区分为带有不同后缀的版本。其中最常见的是FN和FH两种类型。 #### 型号区分 - **ESP32-C3FN4**: 这一型号已经停产[^1]。其特点在于支持特定的工作温度范围和其他硬件特性。 - **ESP32-C3FH4** 及其他变种如 **ESP32-C3FH4AZ2**: 此类芯片仍在生产并广泛应用于各种项目中。这些型号通常具有更广泛的温度适应性和可能更好的性能参数。 #### 温度规格差异 对于工作环境有严格要求的应用场景来说,选择合适的处理器非常重要。根据官方文档描述: - **ESP32-C3FN4 (已停产)**: 工作温度范围较窄,在某些极端条件下可能会受到限制[^2]。 - **ESP32-C3FH4 / C3FH4AZ2**: 改进了耐温能力,能够在更高或更低的环境中稳定运行,适合工业级应用需求。 #### 实际应用场景建议 如果开发者正在寻找适用于恶劣环境下工作的解决方案,则应优先考虑采用最新款式的ESP32-C3FH4及其改进型产品;而对于一般消费电子产品而言,早期版本也可能满足基本功能需求,尽管它们不再被推荐用于新设计当中。 ```python # 示例代码展示如何读取当前CPU温度(假设存在相应API) import esp32 def get_cpu_temperature(): temp = esp32.raw_temperature() celsius = (temp - 32) * 5/9 return round(celsius, 2) print(f"Current CPU Temperature: {get_cpu_temperature()}°C") ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值