久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > 基于ARM平臺的MEMS輸入設備的固件設計

基于ARM平臺的MEMS輸入設備的固件設計

作者: 時間:2009-09-22 來源:網絡 收藏

  2.遠端子系統

  遠端子系統的主要任務是加速度計信號的采集,信號的放大、濾波等的處理,控制器 對射頻無線發送的軟件控制。主要的實現過程為:使用GPIO 口,并按照一定的采樣頻率將 加速度信號送入微控制器LPC2214,在LPC2214 內部進行信號放大和A/D 轉換;并且按照 無線傳輸模塊定義的格式將數據進行編碼,再通過GPIO 口傳送給無線射頻模塊。 主程序主要實現各個器件的初始化和任務的調用。

  int main(void)

  {

  TargetInit();

  Init_RF();

  Init_ADC();

  Init_Transmitter();

  TaskMouse();

  return 0;

  }

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

  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.主機端子系統

  在主機端子系統中,NRF2401 接受遠端子系統的數據并從I/O 口進入LPC2214,數據通 過協議等處理為鼠標格式,最后通過USB 接口發送給主機。在該模塊中,我們采用了操作 系統來實現多任務處理。



評論


相關推薦

技術專區

關閉