|

楼主 |
发表于 2021-2-22 16:12:20
|
显示全部楼层
- //获得ADC值
- u16 Get_NTC_Adc1()
- {
- //设置指定ADC的规则组通道,一个序列,采样时间
- ADC_RegularChannelConfig(ADC1, ADC_Channel_4, 1, ADC_SampleTime_239Cycles5);
-
- ADC_SoftwareStartConvCmd(ADC1, ENABLE); //使能指定的ADC1的软件转换启动功能
-
- while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_EOC )); //等待转换结束
-
- return ADC_GetConversionValue(ADC1); //返回最近一次ADC1规则组的转换结果
- }
-
- //读取NTC的值
- u8 Get_NTC_Val(void)
- {
- u32 temp_val = 0;
- u8 t;
- for(t = 0; t < 10; t++) //读10次
- {
- temp_val += Get_NTC_Adc1(); //读取ADC值
- // delay_ms(5);
- }
- temp_val /= 10; //取平均值
- if(temp_val > 4000) temp_val = 4000;
- return (u32)temp_val;
-
- }
复制代码 |
|