コード例 #1
0
ファイル: bsp_adc.c プロジェクト: fangchuan/AR_2
/*********************************************************************************************************
*	函 数 名: Get_Adc_Average
*	功能说明: 获取通道ch的转换值,取times次,然后平均
*	形    参:ch:通道值 0~16,  times:获取次数
*	返 回 值: 通道ch的times次转换结果平均值
*********************************************************************************************************
*/
u16 Get_Adc_Average(u8 ch,u8 times)
{
		u32 temp_val=0;
		u8 t;
		for(t=0;t<times;t++)
		{
				temp_val+=Get_adc(ch);
		}
		return temp_val/times;
} 
コード例 #2
0
ファイル: temp.c プロジェクト: chenghongyao/gitprogram
u16 Get_adc_average(u8 times)
{
	u32 temp_val=0;
	u8 t;
	for(t=0;t<times;t++)
	{ 
		temp_val+=Get_adc();
		delay_ms(5);
	}
	return temp_val/times;
}
コード例 #3
0
ファイル: bsp_adc.c プロジェクト: fangchuan/AR_2
/*********************************************************************************************************
*	函 数 名: Get_Temp
*	功能说明: 得到ADC采样内部温度传感器的温度值
*	形    参:
*	返 回 值: 3位温度值 XXX*0.1C
*********************************************************************************************************
*/	 
int Get_Temp(void)
{				 
		u16 temp_val=0;
		u8 t;
		float temperate;   
		for(t=0;t<20;t++)//读20次,取平均值
		{
				temp_val += Get_adc(ADC_CH_TEMP);
		}
		temp_val/=20;
		temperate=(float)temp_val*(3.3/4096);//得到温度传感器的电压值
		temperate=(1.43-temperate)/0.0043+25;//计算出当前温度值	 
		temperate*=10;//扩大十倍,使用小数点后一位
		return (int)temperate;	 

}