(資料圖)
/kernel/include/linux/leds.h // 重要,led相關結構體,宏定義,trigger等目錄 /kernel/driver/leds/ 下led-class.c // 定義led class及相關接口led-core.c // export 了閃爍,設置亮滅等接口led-gpio.c // "leds-gpio" 驅動leds.h // 提供幾個接口,如:led_init_core
trigger 框架核心文件:目錄 /kernel/driver/leds/ 下 led-triggers.c // export了許多接口,包括:led_trigger_register目錄 /kernel/driver/leds/trigger 下 ledtrig-backlight.c ledtrig-camera.c ledtrig-cpu.c ledtrig-default-on.c ledtrig-disk.c ledtrig-gpio.c ledtrig-heartbeat.c // 心跳燈效果 ledtrig-mtd.c ledtrig-oneshot.c ledtrig-panic.c ledtrig-timer.c // 定時器ledtrig-transient.c
以參考上面的trigger例子寫自己的trigger,或者改造,需要在make menuconfig里面選上才會編譯,如下:
步驟 一 : dts配置① leds節點是在rk3588-evb.dtsi文件中定義
#include "rk3588-evb.dtsi"
② 定義四個led節點: (檢查gpio是否被復用)
使用命令:dmesg | grep cannot檢查是否有gpio沖突,有沖突的話驅動代碼會中斷,后面的dts就不會生效。
&leds { status = "okay"; compatible = "gpio-leds"; pinctrl-names = "default"; pinctrl-0 = < &work1_led_gpio >, < &work2_led_gpio >,< &work3_led_gpio >,< &work4_led_gpio >; work1_led: work1{ default-state = "off"; gpios = < &gpio4 RK_PD2 GPIO_ACTIVE_HIGH >; }; work2_led: work2{ default-state = "off"; gpios = < &gpio4 RK_PD3 GPIO_ACTIVE_HIGH >; }; work3_led: work3{ default-state = "off"; gpios = < &gpio4 RK_PD4 GPIO_ACTIVE_HIGH >; }; work4_led: work4{ default-state = "off"; gpios = < &gpio4 RK_PD5 GPIO_ACTIVE_HIGH >; };};&pinctrl { leds{ work1_led_gpio: work1-led-gpio{ rockchip,pins = < 4 RK_PD2 RK_FUNC_GPIO &pcfg_pull_down >; }; work2_led_gpio: work2-led-gpio{ rockchip,pins = < 4 RK_PD3 RK_FUNC_GPIO &pcfg_pull_down >; }; work3_led_gpio: work3-led-gpio{ rockchip,pins = < 4 RK_PD4 RK_FUNC_GPIO &pcfg_pull_down >; }; work4_led_gpio: work4-led-gpio{ rockchip,pins = < 4 RK_PD5 RK_FUNC_GPIO &pcfg_pull_down >; }; }; }
步驟二:調試,驗證:在用戶空間操作led
使用了驅動框架后可以不需要編寫應用程序就可以測試led是否能正常被點亮與熄滅,這些都可以在sysfs文件系統中完成。在裝載驅動后可以在/sys/class/leds/目錄下看到對應的led設備目錄,如本文中的work1(填充設備時的設備名字段)。
brightness power ueventmax_brightness subsystem
echo 1 > brightness
echo 0 > brightness
審核編輯:湯梓紅
關鍵詞:
網站首頁 |網站簡介 | 關于我們 | 廣告業務 | 投稿信箱
Copyright © 2000-2020 www.fnsyft.com All Rights Reserved.
中國網絡消費網 版權所有 未經書面授權 不得復制或建立鏡像
聯系郵箱:920 891 263@qq.com
亚洲国产黄在线观看| 1区1区3区4区产品亚洲| 亚洲影视一区二区| 亚洲伊人tv综合网色| 亚洲国产综合专区在线电影| 中文字幕亚洲天堂| 亚洲一本一道一区二区三区| 亚洲w码欧洲s码免费| 亚洲午夜国产精品无卡| 亚洲国产精品白丝在线观看| 亚洲视频在线一区二区三区| 亚洲精品无码精品mV在线观看| 国产亚洲一区区二区在线 | 亚洲男人在线无码视频| 亚洲国产日韩成人综合天堂| 亚洲伦乱亚洲h视频| 国产精品亚洲mnbav网站| 国产亚洲精品成人a v小说| 日韩精品亚洲aⅴ在线影院| 亚洲午夜未满十八勿入网站2| 精品国产亚洲第一区二区三区| 亚洲av成人一区二区三区观看在线| 亚洲精品美女久久7777777| 亚洲狠狠综合久久| 亚洲网红精品大秀在线观看| 国产美女亚洲精品久久久综合| 中文字幕亚洲乱码熟女一区二区| 久久久久久亚洲精品无码| 91在线亚洲综合在线| 亚洲精品无码不卡在线播放| 精品国产亚洲AV麻豆| 亚洲国产精品丝袜在线观看| 国产亚洲精品无码拍拍拍色欲 | 国产亚洲av片在线观看18女人 | 亚洲日产乱码一二三区别| 国产av无码专区亚洲av毛片搜| 区三区激情福利综合中文字幕在线一区亚洲视频1 | 亚洲人成77777在线播放网站| 久久精品国产亚洲AV麻豆~| 亚洲视频在线观看不卡| 亚洲性线免费观看视频成熟|