am335矩陣按鍵驅動使用

      網友投稿 711 2022-05-29

      矩陣按鍵掃描原理

      am335矩陣按鍵驅動的使用

      (即當我們按下一個矩陣鍵盤的按鍵時,如何獲取按鍵的位置)

      方法有2種,一種是逐行掃描,一種是行列掃描.接下來就主要講講行列掃描.

      行列掃描的話,就是一開始讓p1口高4位輸出高電平,低4位輸出低電平,若這4行按鍵里,有按鍵按下了,那么那一行按鍵對應的io的電平就會被拉低,我們就可以知道按鍵的行坐標.獲取按鍵列坐標的方法也是類似的,就是一開始讓p1口高4位輸出低電平,低4位輸出高電平,若這4列按鍵里,有按鍵按下了,那么那一列按鍵對應的io的電平就會被拉低,我們就可以知道按鍵的列坐標,獲得了行坐標x,列坐標y后,4*(x-1)+y就是按鍵的編號.

      修改dtsi文件

      設備樹的說明文檔參考

      linux4.4.54-ti-r93/Documentation/devicetree/bindings/input/gpio-matrix-keypad.txt

      linux4.4.54-ti-r93/Documentation/devicetree/bindings/input/matrix-keymap.txt

      實例

      matrix-keypad { compatible = "gpio-matrix-keypad"; debounce-delay-ms = <5>; col-scan-delay-us = <2>; row-gpios = <&gpio2 25 0 &gpio2 26 0 &gpio2 27 0>; col-gpios = <&gpio2 21 0 &gpio2 22 0>; linux,keymap = <0x0000008B 0x0100009E 0x02000069 0x0001006A 0x0101001C 0x0201006C>; keypad,num-rows = <2>; keypad,num-columns = <8>; };

      (1)compatible是系統用來決定綁定到設備的設備驅動的關鍵。compatible屬性是用來查找節點的方法之一

      (2)keymap的設置可以參考Documentation/devicetree/bindings/input/matrix-keymap.tx

      在這里面可以看到keymap值的計算方式:row << 24 | column << 16 | key-code

      (3)key-code可以參考Documentation/input/event-codes.txt文檔

      按鍵使用

      make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- am335x-boneblack.dtb

      sudo cp arch/arm/boot/dts/am335x-boneblack.dtb /media/kobe/rootfs

      生成并更新dtb文件后,可以直接使用按鍵了

      命令hexdump /dev/event0 可以獲取按鍵的事件

      共九列:

      第六列表示上報事件: 0001 --> EV_KEY; 0000 ---> EV_SYN

      第七列表示鍵值: 0004

      第八列表示按鍵事件: 0001 --> PRESS, 0000 --> RELEASE

      小程序

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:關于二輪差速小車輪速計算和里程計計算
      下一篇:leetcode】高頻題目整理_棧篇( High Frequency Problems, Stack )
      相關文章
      91亚洲精品麻豆| 亚洲人精品亚洲人成在线| 亚洲av成人一区二区三区在线播放 | 国产精品亚洲专区无码WEB| 亚洲va在线va天堂va手机| 亚洲w码欧洲s码免费| 亚洲jjzzjjzz在线观看| 亚洲mv国产精品mv日本mv| 亚洲香蕉久久一区二区三区四区| 亚洲国产成AV人天堂无码| 亚洲av无码国产综合专区| 亚洲av成人一区二区三区| 国产成人精品亚洲2020| 亚洲一区二区三区丝袜| 亚洲精品无码日韩国产不卡av| 亚洲熟妇无码AV| 亚洲欧美在线x视频| 亚洲国产婷婷香蕉久久久久久| 亚洲毛片不卡av在线播放一区| 国产精品亚洲综合一区| 在线观看午夜亚洲一区| 亚洲国产精彩中文乱码AV| 亚洲AV人无码综合在线观看| 911精品国产亚洲日本美国韩国 | 精品亚洲成A人在线观看青青| 国内成人精品亚洲日本语音 | 亚洲精品成人网站在线播放| 亚洲嫩草影院在线观看| 亚洲AV无码无限在线观看不卡 | 亚洲成a人片在线观看中文动漫| 亚洲男人第一av网站| 亚洲精品日韩专区silk| 亚洲中文字幕乱码熟女在线| 麻豆亚洲AV成人无码久久精品| 亚洲国产中文字幕在线观看| 亚洲色欲一区二区三区在线观看| 亚洲AV无码成人网站久久精品大| 久久久亚洲裙底偷窥综合| 亚洲www在线观看| 国产成人亚洲毛片| 亚洲中久无码永久在线观看同|