在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 單片機(jī)常用函數(shù)(濾波、字符處理等)

            單片機(jī)常用函數(shù)(濾波、字符處理等)

            作者: 時(shí)間:2016-11-18 來源:網(wǎng)絡(luò) 收藏

            //函數(shù)名:filter
            //功能描述:平均值濾波
            //輸入?yún)?shù):
            //int iput:要濾波的數(shù)據(jù)
            //int buf[]:濾波緩存數(shù)組指針
            //uint *count:濾波計(jì)數(shù)器指針
            //uint lenght:濾波深度
            //long int *sum:緩存數(shù)組中所有數(shù)據(jù)的和指針
            //返回值:濾波后的平均值
            //==================================================================================
            int filter(int iput,int buf[],uint *count,uint lenght,long int *sum)
            {
            int a=0;
            int adtemp=0;
            adtemp = buf[lenght-1];
            for (a=lenght-1;a>0;a--)
            {
            buf[a]=buf[a-1];
            }
            buf[0]=iput;
            if (*count*count=*count+1;
            *sum=*sum+iput-adtemp;
            return (int)(*sum/(*count));
            }
            //==============================End filter==========================================

            本文引用地址:http://www.biyoush.com/article/201611/315879.htm

            //==============================Start ftostr=========================================
            /*
            // 函數(shù)名:ftostr
            // 輸入?yún)?shù):待轉(zhuǎn)換數(shù)字,存放字符串,浮點(diǎn)小數(shù)后邊位數(shù)
            // 描述:將浮點(diǎn)型數(shù)據(jù)轉(zhuǎn)換為字符串
            // 返回值:字符串大小
            */
            //===================================================================================
            int ftostr(float fNum,char str[],int dotsize)
            {
            // 定義變量
            int iSize=0;//記錄字符串長度的數(shù)
            int n=0;//用作循環(huán)的臨時(shí)變量
            char *p=str;//做換向時(shí)用的指針
            char *s=str;//做換向時(shí)用的指針
            char isnegative=0;//負(fù)數(shù)標(biāo)志
            unsigned long int i_predot;//小數(shù)點(diǎn)前的數(shù)
            unsigned long int i_afterdot;//小數(shù)點(diǎn)后的數(shù)
            float f_afterdot;//實(shí)數(shù)型的小數(shù)部分

            //判斷是否為負(fù)數(shù)
            if(fNum<0)
            {
            isnegative=1;//設(shè)置負(fù)數(shù)標(biāo)志
            fNum=0-fNum;//將負(fù)數(shù)變?yōu)檎龜?shù)
            }

            i_predot=(unsigned long int)fNum;//將小數(shù)點(diǎn)之前的數(shù)變?yōu)檎麛?shù)
            f_afterdot=fNum-i_predot;//單獨(dú)取出小數(shù)點(diǎn)之后的數(shù)
            //根據(jù)設(shè)定的要保存的小數(shù)點(diǎn)后的位數(shù),將小數(shù)點(diǎn)后相應(yīng)的位數(shù)變到小數(shù)點(diǎn)之前
            for(n=dotsize;n>0;n--)
            {
            f_afterdot=f_afterdot*10;
            }
            i_afterdot=(unsigned long int)f_afterdot;//將小數(shù)點(diǎn)后相應(yīng)位數(shù)的數(shù)字變?yōu)檎麛?shù)

            //先將小數(shù)點(diǎn)后的數(shù)轉(zhuǎn)換為字符串
            n=dotsize;
            while(i_afterdot>0|n>0)
            {
            n--;
            str[iSize++]=i_afterdot%10+0;//對(duì)10取余并變?yōu)锳SCII碼
            i_afterdot=i_afterdot/10;//對(duì)10取商
            }
            str[iSize++] =.;//加上小數(shù)點(diǎn)
            //處理小數(shù)點(diǎn)前為0的情況。
            if(i_predot==0)
            str[iSize++]=0;
            //再將小數(shù)點(diǎn)前的數(shù)轉(zhuǎn)換為字符串
            while(i_predot>0)
            {
            str[iSize++]=i_predot%10+0;//對(duì)10取余并變?yōu)锳SCII碼
            i_predot=i_predot/10;//對(duì)10取商
            }

            if(isnegative==1)
            str[iSize++]=-;//如果是負(fù)數(shù),則在最后加上負(fù)號(hào)
            str[iSize] =