⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 calculateaverage.c

📁 在单片机中由于CPU的A/D精度、模拟通道处理限制和各种漂移
💻 C
字号:

/********************************************
*文件名称:CalculateAverage.c
*
*摘要:
*入口:
*返回:平均值      	
*
*版本:V1.0	2008-9-2 13:10:36
*作者:风月无边
*
*********************************************/
#define AVERNUM 10

static short CalculateAverage(short* pData)         	//去掉最大值和最小值求平均数(
{
    short nMax = *pData,nMin = *pData,nAll = *pData;
    unsigned char i;
    
    for(i=1; i<AVERNUM; i++,pData++)
    {
      	if(*pData>nMax) nMax = *pData;
      	if(*pData<nMin) nMin = *pData; 
      	nAll += *pData;
    }
    return((nAll-nMax-nMin)/(AVERNUM-2));						
}


static char s_bDataNo;
static short s_nAverageData[AVERNUM];

static short GetDataFromAverSequence(short* pData)    
{
	short nData = 0;
	
	s_nAverageData[s_bDataNo] = *pData;
	s_bDataNo++;	
	if(s_bDataNo>=AVERNUM)
	{
		s_bDataNo = 1;
		nData = CalculateAverage((short*)s_nAverageData);  //得到平均功率因数
		s_nAverageData[0] = nData;
	}
	return nData;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -