關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > 觸控設備手勢喚醒的設計思路及其實現

        觸控設備手勢喚醒的設計思路及其實現

        作者: 時間:2012-07-14 來源:網絡 收藏
        示例代碼2

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

          // example interrupt function where this might be implemented

          __interrupt void TimedInterrupt( void )

          {

          uint8 proximity_counts;

          uint8 filtered_counts;

          ....

          ....

          if ( device_status == SLEEP_MODE )

          {

          // read one byte from register 0x16

          proximity_counts = read_i2c_register(MAX44000_ADDR,0x16,1);

          // weights[QUEUE_SIZE] contains the filter weights for the FIR filter

          // data_queue[QUEUE_SIZE] is a FIFO queue meant to be the input to the filter

          filtered_counts = fir_filter(proximity_counts,weights,data_queue);

          if (filtered_counts 》 WAKEUP_THRESHOLD)

          {

          device_status = WAKE_MODE;

          ...

          }

          else

          {

          // do whatever it is you need to in sleep mode

          ...

          ...

          }

          }

          ...

          ...

          }

          /**

          * fir_filter()

          *

          * Implements an FIR filter in the form

          * y = w[0]*x[0] + w[1]*x[1] + 。。.+ w[QUEUE_SIZE]*x[QUEUE_SIZE]

          *

          * Arguments:

          * uint8 input - newest datapoint taken (that is, x[0])

          * uint8 *weights - w[0]。。.w[QUEUE_SIZE]

          * uint8 *queue - the discrete sequence x[0]。。.x[QUEUE_SIZE]

          *

          * Returns:

          * The FIR-filtered output, y

          */

          uint8 fir_filter(uint8 input, uint8 *weights, uint8 *queue)

          {

          uint8 i;

          int sum = 0;

          // pop first entry in the queue, then

          // push new data into the last position

          push_into_queue(queue,input);

          // input is now x[0]

          for (i=0; i {

          sum += weights[i]*queue[i];

          }

          return (sum/QUEUE_SIZE);

          }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 班戈县| 奈曼旗| 夏邑县| 繁峙县| 大城县| 东源县| 勃利县| 忻城县| 襄垣县| 洮南市| 鹿泉市| 兴化市| 姜堰市| 庆阳市| 奉化市| 崇仁县| 龙山县| 石景山区| 章丘市| 乐安县| 教育| 深水埗区| 大荔县| 长乐市| 东丰县| 治多县| 宜城市| 高清| 阿图什市| 米易县| 永济市| 金川县| 科尔| 通许县| 南宫市| 宿迁市| 洛宁县| 保康县| 长宁县| 新龙县| 沙河市|