<var id="fnfpo"><source id="fnfpo"></source></var>
<rp id="fnfpo"></rp>

<em id="fnfpo"><object id="fnfpo"><input id="fnfpo"></input></object></em>
<em id="fnfpo"><acronym id="fnfpo"></acronym></em>
  • <th id="fnfpo"><track id="fnfpo"></track></th>
  • <progress id="fnfpo"><track id="fnfpo"></track></progress>
  • <tbody id="fnfpo"><pre id="fnfpo"></pre></tbody>

  • 電子工程網

    標題: 【瘋殼·嵌入式教程4】手把手教你做平板電腦-設備按鍵驅動實驗教程 [打印本頁]

    作者: Linda-x    時間: 2022-8-22 10:39
    標題: 【瘋殼·嵌入式教程4】手把手教你做平板電腦-設備按鍵驅動實驗教程
    設備按鍵驅動實驗教程
    ——瘋殼·嵌入式平板開發





        第一節 引言 --- 如何看一個 GPIO 按鍵的電路原理圖

        下圖來源于文檔 3128_sdk_a02_20170325.pdf 中第 9 頁和第 12 頁。
        如下第一張圖 PMIC_PWRON 引腳在按鈕按下前一直保持高電平,按鍵按下后變成低電平并觸發中斷休眠/喚醒屏幕。第一張圖所示 pmic_pwron 連接的是一個按鍵電路,第二張圖所示 pmic_pwron 連接的是 GPIO0_A2。綜上所述,按鍵可以由 gpio 來實現的。




        圖1

        第二節 按鍵配置實例 --- 以 GPIO2_D1 為例,高電平觸發上升沿來模擬按鍵被按下

        gpio 引腳通?梢耘渲贸奢斎牒洼敵龉δ。作為輸入功能,一般在 linux 系統里面是以中斷的方式來使用;如果作為輸出功能一般主要用來提供一個高低電平信號。本文利用  gpio 的輸入功能來模擬一個按鍵。
        本章主要以 GPIO2_D1 為例子講解,給 GPIO2_D1 一個高電平來觸發上升沿產生中斷操作并串口打印一條語句。

       
        圖2
        圖示紅框位置表示將要配置的 gpio 在開發板上的位置

       
        gpio 在電路圖中的位置
        圖3

        第三節 rk3128 開發板 gpio 在 DTS 中的配置

        rk3128 驅 動 配 置 使 用 的 是 Device Tree 的 方 式 , 所 以 在 kernel 路徑 $(dir)\rk3128-source\kernel\arch\arm\boot\dts 中 rk3128-study.dts 描述了我們整個系統的驅動配置,gpio 的配置如下所示:

       
    代碼1

        第四節 實驗步驟

        1.如何看中斷是否注冊成功 --- cat /proc/interrupts
        我們注冊的中斷名字是:gpio_input_test 對應于中斷號 160

         
        圖4
        2.kernel 實驗步驟

       
        圖5
        第五節 實驗現象
        以一根杜邦線為例,低電平觸發中斷

      
        圖6
        第六節 AD 按鍵

        什么是 AD 按鍵:“AD 檢測法實現簡單實用的按鍵”,僅僅需要一個 AD 接口和若干的電阻,就可以實現 1  個,2 個,3 個        多個按鍵輸入。原理就是按鍵按下的時候,IO 口將檢測
        到不同的電壓值。
        本節第一張圖所示三個按鍵就組成了 AD 按鍵并對應不同的阻值報告給 cpu,cpu 檢測后知道那個鍵被按下,相應的 driver 配置看$(dir)\rk3128-source\kernel\arch\arm\boot\dts 中rk3128-study.dts 的&adc{ }選項,源代碼對應文件是$(dir)\rk3128-source\kernel\drivers\input\keyboard\rk_keys.c
        下圖來源于文檔 3128_sdk_a02_20170325.pdf 中第 9 頁。

       
        圖一 AD 按鍵原理圖
        圖7

       
        圖二 cpu 側接線圖
        圖8

        第七節 PMIC_PWRON 休眠/喚醒屏幕

        本節主要是繼續第一節課的原理圖講解一下屏幕的休眠/喚醒功能(gpio 的一個應用) 相應的 driver 配置看$(dir)\rk3128-source\kernel\arch\arm\boot\dts 中 rk3128-study.dts的&adc{...}選項,源代碼對應文件是$(dir)\rk3128-source\kernel\drivers\input\keyboard\rk_keys.c
        注意中斷響應函數 keys_isr(int irq, void *dev_id),具體的屏幕休眠/喚醒由它來處理。





    如需定制開發,請通過官網“瘋殼”網頁底部的“聯系我們”進行聯系

        文件下載請點擊: 4、設備按鍵驅動實驗.pdf (887.32 KB)








    歡迎光臨 電子工程網 (http://www.portaltwn.com/) Powered by Discuz! X3.4
    精品一区二区三区自拍图片区_国产成人亚洲精品_亚洲Va欧美va国产综合888_久久亚洲国产精品五月天婷