请问stm32f030内部温度值与室温差距过大能不能用来检查室温?

2019-07-14 14:47发布

void T_Adc_Init(void)  
{
ADC_InitTypeDef ADC_InitStructure;
RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);
  ADC_DeInit(ADC1);
  ADC_Structinit(&ADC_InitStructure);

  ADC_InitStructure.ADC_Resolution = ADC_Resolution_12b;         
  ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;            
  ADC_InitStructure.ADC_ExternalTrigConvEdge = ADC_ExternalTrigConvEdge_None;
  ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;         
  ADC_InitStructure.ADC_ScanDirection = ADC_ScanDirection_Backward;   
  ADC_Init(ADC1, &ADC_InitStructure);

  ADC_ChannelConfig(ADC1,ADC_Channel_16, ADC_SampleTime_239_5Cycles );
  
ADC_TempSensorCmd(ENABLE);

ADC_GetCalibrationFactor(ADC1);                                
ADC_Cmd(ADC1, ENABLE);                                         
while(ADC_GetFlagStatus(ADC1,ADC_FLAG_ADEN)==RESET);               

ADC_StartOfConversion(ADC1);

}
uint16_t T_Get_Adc()   //读取采样值
{
ADC_ChannelConfig(ADC1,ADC_Channel_16, ADC_SampleTime_239_5Cycles );
ADC_StartOfConversion(ADC1);  
while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC ));
return ADC_GetConversionValue(ADC1);
}

uint16_t T_Get_Adc_Average(uint8_t times)//读取多次采样值求平均
{
uint32_t temp_val=0;
uint8_t t;
for(t=0;t<times;t++)
{
  temp_val+=T_Get_Adc();
  delay_ms(5);
}
return temp_val/times;
}

int main(void)
{
uint32_t adcx=0,temp_a=0;
  float temp;
T_Adc_Init();
while(1)
{
  adcx=T_Get_Adc_Average(10);
  temp=((float)adcx*(3.3/4096));
  temp=(1.43-temp)/0.0043+25;  
  temp_a=temp*1000;//   扩大温度值的1000倍

}
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
Tussi
1楼-- · 2019-07-15 14:48
 精彩回答 2  元偷偷看……
60user36
2楼-- · 2019-07-15 19:33
不能,没有太大意义
t4935359
3楼-- · 2019-07-15 20:41
一种方法是使用一个差分放大器接在热敏电阻两端,热敏电阻接在一个电阻分压器中,再将测量的电压和温度通过计算或实验一一对应起来。还有一种就是买现成的温度传感器,这样的传感器有很多,数字模拟的都有。
csw_ying
4楼-- · 2019-07-15 23:48
别开玩笑啦,一个18B20几元的事让你搞成复杂的事
youxi8745
5楼-- · 2019-07-16 04:08
关外设,进低功耗模式,然后你再测误差多大不会很夸张的,在没有外部芯片的时候还是勉强可以这么用的

一周热门 更多>