日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

MT7628学习笔记(12)——GPIO操作,注册LED驱动

發(fā)布時(shí)間:2024/3/24 编程问答 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MT7628学习笔记(12)——GPIO操作,注册LED驱动 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、選擇LED、button驅(qū)動(dòng)

LED驅(qū)動(dòng):

LED modules ---> <*> kmod-leds-gpio <*> kmod-ledtrig-usbdev

Button 驅(qū)動(dòng):

Other modules ---> <*> kmod-gpio-button-hotplug.

二、修改設(shè)備樹:

目錄:/openwr/target/linux/ramips/dts 找到對(duì)應(yīng)的設(shè)備樹文件,增加對(duì)led、keys的注冊(cè)。

gpio-keys-polled {compatible = "gpio-keys-polled";#address-cells = <1>;#size-cells = <0>;poll-interval = <20>;wps {label = "reset";gpios = <&gpio1 6 1>;//GPIO#38linux,code = <0x198>;}; };gpio-leds {compatible = "gpio-leds";indicator {label = "blue:indicator";gpios = <&gpio0 5 1>;//GPIO#37}; };
  • label”表示 LED 名稱。
  • gpios”表示該 LED 用到的 GPIO
  • &gpio0”表示處于 gpio 0MT7628有 3 gpio 分別是 gpio0gpio1gpio2。
  • “5”代表是當(dāng)前組中的第 5 個(gè) gpiogpio1 的基礎(chǔ)號(hào)是 32,所以gpio 實(shí)際號(hào)是 32+5=37。(GPIO#37
  • 1”代表高電平有效。
  • 詳細(xì)GPIO關(guān)系參考:MT7628/MT7688開發(fā)板引腳分布即GPIO介紹
  • linux,code = <0x198>;對(duì)應(yīng)的是reset的按鍵。相關(guān)的宏定義在 input-event-codes.h 文件,配合使用的相關(guān)按鍵匹配表在 button-hotplug.c 或者 gpio-button-hotplug.c 文件。
  • 定義如下:
static struct bh_map button_map[] = {BH_MAP(BTN_0, "BTN_0"),BH_MAP(BTN_1, "BTN_1"),BH_MAP(BTN_2, "BTN_2"),BH_MAP(BTN_3, "BTN_3"),BH_MAP(BTN_4, "BTN_4"),BH_MAP(BTN_5, "BTN_5"),BH_MAP(BTN_6, "BTN_6"),BH_MAP(BTN_7, "BTN_7"),BH_MAP(BTN_8, "BTN_8"),BH_MAP(BTN_9, "BTN_9"),BH_MAP(KEY_RESTART, "reset"),BH_MAP(KEY_POWER, "power"),BH_MAP(KEY_RFKILL, "rfkill"),BH_MAP(KEY_WPS_BUTTON, "wps"),BH_MAP(KEY_WIMAX, "wwan"), }; #define BTN_0 0x100 #define BTN_1 0x101 #define BTN_2 0x102 #define BTN_3 0x103 #define BTN_4 0x104 #define BTN_5 0x105 #define BTN_6 0x106 #define BTN_7 0x107 #define BTN_8 0x108 #define BTN_9 0x109 #define KEY_RESTART 0x198 #define KEY_POWER 116 /* SC System Power Down */ #define KEY_RFKILL 247 /* Key that controls all radios */ #define KEY_WPS_BUTTON 0x211 /* WiFi Protected Setup key */ #define KEY_WWAN 246 /* Wireless WAN (LTE, UMTS, GSM, etc.) */ #define KEY_WIMAX KEY_WWAN

三、重新編譯

make V=99

最終編譯出來(lái)的固件存放在?openwrt-hiwooya/bin/ramips?目錄,固件名為?*-squashfs-sysupgrade.bin?。

四、web方式燒錄固件

1、查詢獲取到的IP地址:

ifconfig

?apcli0 是無(wú)線網(wǎng)卡的。eth0 或者 eth0.2 是有線網(wǎng)卡的地址。

2、輸入IP地址進(jìn)入web界面。(root 12345678)

3、點(diǎn)擊 System - Backup/Flash Firmware 進(jìn)入升級(jí)界面

4、選擇之前編譯出來(lái)的固件,點(diǎn)擊升級(jí),等待升級(jí)成功。

五、測(cè)試

控制亮滅:(可以測(cè)量電平或者接個(gè)LED測(cè)試)

echo 1 > /sys/class/leds/blue\:indicator/brightness echo 0 > /sys/class/leds/blue\:indicator/brightness

總結(jié)

以上是生活随笔為你收集整理的MT7628学习笔记(12)——GPIO操作,注册LED驱动的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。