资源简介
HR202程序 HR202L元件库 HR202L资料主要参考别人文档
代码片段和文件信息
#define HR202_CONTR1_OUT GPIOC->CRH &= 0xffffff0f;GPIOC->CRH &= 0x00000030;//湿敏电阻 Rh
#define HR202_CONTR1_CLR GPIOC->BRR = (uint32_t)GPIO_Pin_9
#define HR202_CONTR1_SET GPIOC->BSRR = (uint32_t)GPIO_Pin_9
#define HR202_CONTR2_OUT GPIOC->CRH &= 0xfffffff0;GPIOC->CRH &= 0x00000003;//标定电阻 Rf
#define HR202_CONTR2_CLR GPIOC->BRR = (uint32_t)GPIO_Pin_8
#define HR202_CONTR2_SET GPIOC->BSRR = (uint32_t)GPIO_Pin_8
#define HR202_CONTR2_RD GPIO_ReadInputDataBit(GPIOCGPIO_Pin_8)
#define HR202_DECT_IN GPIOC->CRL &= 0xfffffff0;//模拟量输入
//全局变量定义
INT16U HUMI_vuletemp_vule; //湿温值
INT32U R_Humideal_int; //湿温电阻阻值
INT8U PwmTimeCnt = 0;
_HR202_ADC HR202_ADCTbl;
//求u16型数组[num]平均值,去掉最大最小值
u16 AdcConvertAverage(u16 *pu8 num)
{
u8 i;
u16 ret=0;
u16 max_idmin_idmax_valuemin_value;
for(i=0;i {
ret+=(*(p+i));
}
//找到最大和最小值索引
ret/=num;
max_id=min_id=1;
max_value=min_value=0;
for(i=0;i {
if((*(p+i)) > ret)
{
if((*(p+i)) - ret > max_value)
{
max_value=(*(p+i)) - ret;
max_id=i;
}
}
else
{
if(ret - (*(p+i)) > min_value)
{
min_value=ret - (*(p+i));
min_id=i;
}
}
}
//去掉第一个和最大最小值后的平均值
ret=0;
for(i=0;i {
if((i!=min_id)&&(i!=max_id))
ret+=(*(p+i));
}
if(min_id!=max_id)
ret = (ret+(num/2))/(num-2);
else
ret = (ret+(num/2))/(num-1);
return ret;
}
/***************************************************************************
*** 函数名称 : HR202Dect_Init
*** 创建人 : xx
*** 创建日期 : xxxx
*** 修改人者 :
*** 修改日期 :
*** 输入 :
*** 返回 :
*** 函数功能 : AI 初始化
***************************************************************************/
void HR202Dect_Init(void)
{
//Param 参数初始化
for(INT8U i=0;i<10;i++)
{
HR202_ADCTbl.AITbl[i] = 0;//采集AD数据 10个
}
HR202_ADCTbl.AIEnable = OS_FALSE;//采集是否完成
HR202_ADCTbl.AICnt = 0;//采集数量
//Pin 初始化IO模拟输入
HR202_DECT_IN;
//ADC2 初始化
ADC_InitTypeDef ADC_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC2ENABLE);
ADC_DeInit(ADC2);
ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
ADC_InitStructure.ADC_ScanConvMode = ENABLE;
ADC_InitStructure.ADC_ContinuousConvMode = DISABLE;
ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
ADC_InitStructure.ADC_NbrOfChannel = 1;
ADC_Init(ADC2 &ADC_InitStructure);
ADC_RegularChannelConfig(A
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 7243 2013-12-05 20:16 HR202.c
----------- --------- ---------- ----- ----
7243 1
- 上一篇:基于Hadoop的商品推荐老师版
- 下一篇:单片机PWM调速程序
评论
共有 条评论