| 
×
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。您需要 登录 才可以下载或查看,没有账号?立即注册 
  [AppleScript] 纯文本查看 复制代码 
#define NTC_V_MAX 	3.3          // 电源电压 (3.3V)
#define NTC_R_MAX 	10000       // 10K 电阻值 (10KΩ)
#define NTC_R_MIN 	10000         // 25°C 时的电阻值 (10KΩ)
#define NTC_B_VALUE 3950            // B3950 的 B 值 (3950K)
#define NTC_ADC_MAX 4096      // ADC 最大值 (12 位 ADC)
float NTC_TEMP(int adc_value) 
{    
			adc_value=NTC_ADC_MAX-adc_value;
			// 计算 NTC 电压值 (V_NTC)
			float NTC_V = (adc_value * NTC_V_MAX) / NTC_ADC_MAX;
			// 计算 NTC 电阻值 (R_NTC)
			float NTC_R = (NTC_V * NTC_R_MAX) / (NTC_V_MAX - NTC_V);
			// 计算温度 (开尔文)
			float TEMP_KELVIN = 1.0 / ((1.0 / 298.15) + (1.0 / NTC_B_VALUE) * log(NTC_R / NTC_R_MIN));
			// 转换为摄氏度
			float TEMP_CELSIUS = TEMP_KELVIN - 273.15;
			return TEMP_CELSIUS;
}
 
 简单测量NTC温度程序,返回直接是℃温度,输入的为ADC值
 
 
 
 
 
 |