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

<abbr id="27omo"></abbr>

<menu id="27omo"><dl id="27omo"></dl></menu>
    • <label id="27omo"><tt id="27omo"></tt></label>

      關 閉

      新聞中心

      EEPW首頁 > 工控自動化 > 設計應用 > 微型光學手指導航模組的Android系統(tǒng)軟件操作實現(xiàn)

      微型光學手指導航模組的Android系統(tǒng)軟件操作實現(xiàn)

      作者: 時間:2012-07-25 來源:網(wǎng)絡 收藏

      系統(tǒng)軟件操作實現(xiàn)

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

      input_report_abs(OFN_Device, ABS_PRESSURE, 1);

      input_sync(OFN_Device);

      if(val) // 抬起及其同步,包括壓力

      { input_report_key(OFN_Device, BTN_TOUCH, 0);

      input_report_abs(OFN_Device, ABS_PRESSURE, 0);

      input_sync(OFN_Device);

      } // 沒有抬起,持續(xù)就是拖動

      return IRQ_RETVAL(IRQ_HANDLED);

      }

      static int __init SmltTscOFN_init(void) // OFN設備初始化

      { … // 與模擬按鍵驅(qū)動相同

      input_set_abs_params(OFN_Device, ABS_X, 0, TscMaxX, 0, 0);// 上報屏參數(shù):Xmin,Xmax

      input_set_abs_params(OFN_Device, ABS_Y, 0, TscMaxY, 0, 0); // Ymin,Ymax

      input_set_abs_params(OFN_Device, ABS_PRESSURE, 0, 1, 0, 0); // 壓力

      OFN_Device->evbit[0] = BIT_MASK(EV_SYN) | // 上報上傳信息內(nèi)容:點擊,絕對坐標

      BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);

      OFN_Device->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);

      … // 與模擬按鍵驅(qū)動相同

      }

      6 OFN模擬鼠標驅(qū)動設計

      OFN模擬鼠標驅(qū)動程序與上述模擬按鍵或觸摸屏的操作類似,區(qū)別在于:

      初始化上報系統(tǒng),事件為相對坐標和“點擊”;

      可以將采集到的運動數(shù)據(jù)直接上報系統(tǒng)。

      像模擬觸摸屏驅(qū)動一樣,通過配合“持續(xù)點下狀態(tài)”,實現(xiàn)可視屏幕區(qū)域的“拖動”選擇。

      OFN模擬觸摸屏驅(qū)動不同于模擬按鍵或觸摸屏的主要程序代碼如下:

      void work_handle(void *data) // 工作處理:IIC移動數(shù)據(jù)-->相對坐標信息,上傳

      { short dx, dy; unsigned buf[3];

      buf[0] = 2; // 讀取OFN數(shù)據(jù)信息

      i2c_master_send(rfid_client, buf, 1);

      i2c_master_recv(rfid_client, buf, 3);

      if(buf[0]1) // OFN運動與否?

      { dx = (char)buf[1]; // OFN的X向運動

      dy = (char)buf[2]; // OFN的Y向運動

      input_report_rel(dev, REL_X, dx); // 數(shù)據(jù)上傳及其系統(tǒng)同步

      input_report_rel(dev, REL_Y, dy);

      input_sync(OFN_Device);

      }

      }

      static irqreturn_t SmltClckMousEisrOFN(int irq, void *p) // OFN中斷處理程序:點擊發(fā)生

      { int val = gpio_get_value (S5PV210_GPH0(0)); // 獲取管腳狀態(tài)

      input_report_key(dev, BTN_LEFT, 1); // 左鍵按下

      input_sync(OFN_Device);

      if(val) // 左鍵抬起

      { input_report_key(dev, BTN_LEFT, 0);

      input_sync(OFN_Device);

      } // 沒有抬起,持續(xù)就是拖動

      return IRQ_RETVAL(IRQ_HANDLED);

      }

      static int __init SmltMouseOFN_init(void) // OFN設備初始化

      { … // 與模擬按鍵或觸摸屏驅(qū)動相同

      OFN_device->evbit[0] = // 確定上傳信息內(nèi)容:點擊/位移

      BIT_MASK(EV_KEY)|BIT_MASK(EV_REL);

      OFN_device->keybit[BIT_WORD(BTN_LEFT)] = BIT_MASK(BTN_LEFT);

      OFN_device->relbit[0] = BIT_MASK(REL_X) | BIT_MASK(REL_Y);

      … // 與模擬按鍵或觸摸屏驅(qū)動相同}

      7 結(jié) 論

      OFN設備驅(qū)動不同于一般常見的特定專用設備,通過各級相關軟件設計,使其以“input”類字符型設備的身份,作為系統(tǒng)某個總線特定“適配器”的一個“客戶設備”出現(xiàn),中斷形式實時高效地采集位移等信息,包裝成體系可以普遍識別的按鍵、鼠標或觸摸屏的信息格式廣播,就可以實現(xiàn)把OFN“無縫植入”并在軟件系統(tǒng)完美應用。深入分析,層層設計,逐步實現(xiàn),環(huán)環(huán)相扣,是難度較大的基于硬體軟件設計中復雜問題簡單化的行之有效的途徑。

      更多計算機與外設信息請關注21ic計算機與外設頻道



      評論


      相關推薦

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

      關閉