新聞中心

        電容觸摸傳感的理論框架

        ——
        作者:Thomas Perme 微芯科技公司 應(yīng)用工程師 時(shí)間:2009-07-20 來(lái)源:電子產(chǎn)品世界 收藏

        確定是否大于最小門(mén)限值
        指示按下/未按下

        本文引用地址:http://www.104case.com/article/96399.htm

        代碼示例1給出了實(shí)現(xiàn)該百分比表決方案的關(guān)鍵步驟的指令。它假定已經(jīng)設(shè)置了完整的掃描系統(tǒng),現(xiàn)在在代碼中只需要實(shí)現(xiàn)表決系統(tǒng)。 

        第一個(gè)代碼塊從步驟3 開(kāi)始,對(duì)兩個(gè)數(shù)組pctarray[]和indxarray[]進(jìn)行排序。pctarray數(shù)組中包含前面剛執(zhí)行的每次掃描中每個(gè)的值。indxarray每一次都必須復(fù)位。indxarray關(guān)聯(lián)一個(gè)索引(指示與哪個(gè)關(guān)聯(lián))——對(duì)應(yīng)于pctarray中的每個(gè)百分比值。在步驟4的排序過(guò)程中,該索引記錄pctarray中的每個(gè)讀數(shù)對(duì)應(yīng)于哪個(gè)傳感器。(關(guān)于更形象化的說(shuō)明,請(qǐng)參見(jiàn)與本文關(guān)聯(lián)的演示幻燈片)。

        按從最高到最低進(jìn)行排序之后,下一個(gè)代碼塊執(zhí)行步驟6和7。pctarray[0]值是受影響程度最高的讀數(shù),而indxarray[0]是傳感器的索引。然后,可以執(zhí)行簡(jiǎn)單的檢查,確定值是高于還是低于可接受的門(mén)限值。如果按鍵被按下,則可以根據(jù)indxarray[0]值確定它是哪一個(gè)傳感器。如果值被視為“關(guān)閉”,則說(shuō)明沒(méi)有任何按鍵被按下(因?yàn)樵摪存I是受影響程度最高的按鍵)。所有的按鍵都應(yīng)在應(yīng)用級(jí)別指示為“關(guān)閉”。
        代碼示例1:

        if (INDEX == 3) {
         // 如果掃描結(jié)束

         IndxArray[0] = 0; // 復(fù)位IndxArray
         IndxArray[1] = 1;
         IndxArray[2] = 2;
         IndxArray[3] = 3;

         // 從大到小對(duì)PctArray和IndxArray進(jìn)行排序
         // .. 基于PctArray
         for (i=0; i<NUM_BTTNS-1; i++) {
          for (j=0; j<((NUM_BTTNS-1)-i); j++) { 
           if (PctArray[j] < PctArray[j+1]) {
                temp = PctArray[j];         // 存儲(chǔ)第j個(gè)元素
                   PctArray[j] = PctArray[j+1];       // 移動(dòng)第j+1個(gè)元素
            PctArray[j+1] = temp;        // 移動(dòng)原先的第j個(gè)元素  

            temp = IndxArray[j];        // 以類(lèi)似方式對(duì)索引數(shù)組進(jìn)行排序
            IndxArray[j] = IndxArray[j+1];      // 對(duì)應(yīng)于百分比數(shù)組
            IndxArray[j+1] = temp;
           }
          }
         }
        }



        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 达拉特旗| 建始县| 莆田市| 马山县| 胶州市| 巴里| 九龙坡区| 洪洞县| 东乌珠穆沁旗| 集贤县| 镇赉县| 长岛县| 濉溪县| 泗水县| 潜江市| 杂多县| 会东县| 弋阳县| 新巴尔虎左旗| 始兴县| 江源县| 南华县| 平原县| 阿尔山市| 西青区| 巫山县| 临汾市| 新田县| 灌云县| 城口县| 平陆县| 临武县| 辛集市| 辽源市| 砀山县| 宁乡县| 北流市| 九寨沟县| 澄城县| 乐亭县| 保定市|