中文字幕 另类精品,亚洲欧美一区二区蜜桃,日本在线精品视频免费,孩交精品乱子片免费

<sup id="3hn2b"></sup>

    1. <sub id="3hn2b"><ol id="3hn2b"></ol></sub><legend id="3hn2b"></legend>

      1. <xmp id="3hn2b"></xmp>

      2. 新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于ARM平臺(tái)的MEMS輸入設(shè)備的固件設(shè)計(jì)

        基于ARM平臺(tái)的MEMS輸入設(shè)備的固件設(shè)計(jì)

        作者: 時(shí)間:2009-09-22 來(lái)源:網(wǎng)絡(luò) 收藏

          2.遠(yuǎn)端子系統(tǒng)

          遠(yuǎn)端子系統(tǒng)的主要任務(wù)是加速度計(jì)信號(hào)的采集,信號(hào)的放大、濾波等的處理,控制器 對(duì)射頻無(wú)線發(fā)送的軟件控制。主要的實(shí)現(xiàn)過(guò)程為:使用GPIO 口,并按照一定的采樣頻率將 加速度信號(hào)送入微控制器LPC2214,在LPC2214 內(nèi)部進(jìn)行信號(hào)放大和A/D 轉(zhuǎn)換;并且按照 無(wú)線傳輸模塊定義的格式將數(shù)據(jù)進(jìn)行編碼,再通過(guò)GPIO 口傳送給無(wú)線射頻模塊。 主程序主要實(shí)現(xiàn)各個(gè)器件的初始化和任務(wù)的調(diào)用。

          int main(void)

          {

          TargetInit();

          Init_RF();

          Init_ADC();

          Init_Transmitter();

          TaskMouse();

          return 0;

          }

          在完成各個(gè)模塊的初始化之后,執(zhí)行Taskmouse 函數(shù)。Taskmouse 函數(shù)是主執(zhí)行函數(shù), 包含了GetMousePos()、ModeSelect()、Get_ADCValue_X()和Get_ADCValue_Y()等子函數(shù)。 調(diào)用該函數(shù)就可以執(zhí)行加速度計(jì)信號(hào)采集、鼠標(biāo)位置確定、系統(tǒng)工作模式選擇等程序行。 獲取鼠標(biāo)位置信息的示意程序如下所示:

          void GetMousePos(uint8 *buf, uint8 shift)

          {

          uint8 i;

          uint8 sampf = 50;

          uint32 dpi = 100;

          uint32 sum_x, sum_y;

          sum_x = sum_y = 0;

          for (i = 0; i sampf; ++i) {

          sum_x += Get_ADCValue_X(dpi);

          sum_y += Get_ADCValue_Y(dpi); }

          buf[0] = (sum_x / sampf) >> shift;

          buf[1] = (sum_y / sampf) >> shift;

          }

          3.主機(jī)端子系統(tǒng)

          在主機(jī)端子系統(tǒng)中,NRF2401 接受遠(yuǎn)端子系統(tǒng)的數(shù)據(jù)并從I/O 口進(jìn)入LPC2214,數(shù)據(jù)通 過(guò)協(xié)議等處理為鼠標(biāo)格式,最后通過(guò)USB 接口發(fā)送給主機(jī)。在該模塊中,我們采用了操作 系統(tǒng)來(lái)實(shí)現(xiàn)多任務(wù)處理。



        評(píng)論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉