实验1:sysfs 操作方法控制NanoPC-T4开发板上LED灯 (status LED状态灯:GPIO0_B5/LED1_OUT)
root@NanoPC-T4: cd /sys/class/leds/status_led // status_led目录就是用来控制状态灯
root@NanoPC-T4:/sys/class/leds/status_led# ls
brightness device max_brightness power subsystem trigger uevent
其中brightness用于控制状态灯的亮灭,trigger用来设置状态灯的触发条件:
root@NanoPC-T4:/sys/class/leds/status_led# cat trigger
none rc-feedback kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock mmc0 mmc1 timer [heartbeat] rfkill0 mmc2 rfkill1 rfkill2 rfkill3
实际上这些都是触发条件,只有用[ ]选中的才是当前有效的,这有很多可以用来控制状态灯的触发条件,缺省状态是:heartbeart,我们要想控制状态灯,需要将触发条件改为none。
root@NanoPC-T4:/sys/class/leds/status_led# echo none > trigger
root@NanoPC-T4:/sys/class/leds/status_led# cat trigger
root@NanoPC-T4:/sys/class/leds/status_led# cat trigger
[none] rc-feedback kbd-scrolllock kbd-numlock kbd-capslock kbd-kanalock kbd-shiftlock kbd-altgrlock kbd-ctrllock kbd-altlock kbd-shiftllock kbd-shiftrlock kbd-ctrlllock kbd-ctrlrlock mmc0 mmc1 timer heartbeat rfkill0 mmc2 rfkill1 rfkill2 rfkill3
接下来,可以使用brightness文件来控制状态灯了。
root@NanoPC-T4:/sys/class/leds/status_led# echo 1 > brightness
root@NanoPC-T4:/sys/class/leds/status_led# echo 0 > brightness
输入1是开灯,输入0是关灯。
将状态灯恢复成原来的心跳灯: echo heartbeat > trigger
上海嵌入式家园-开发板代理商城
http://embedclub.taobao.com/
专业销售瑞芯微RK3399系列开发板,友善之臂NanoPC-T4, NanoPi M4, NanoPi NEO4开发板