您尚未登录。

楼主 #1 2020-08-04 07:35:43

ifree64
会员
注册时间: 2019-06-27
已发帖子: 74
积分: 143.5

【分享】V3s Licheepi上控制LED灯的方法

今天分享一个简单,但也许很实用的功能,大神请飘过。


## 设备树中与LED有关的内容

在设备树文件arch/arm/boot/dts/sun8i-v3s-licheepi-zero.dts中,有以下内容

leds {
		compatible = "gpio-leds";

		blue_led {
			label = "licheepi:blue:usr";
			gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */
		};

		green_led {
			label = "licheepi:green:usr";
			gpios = <&pio 6 0 GPIO_ACTIVE_LOW>; /* PG0 */
			default-state = "on";
		};

		red_led {
			label = "licheepi:red:usr";
			gpios = <&pio 6 2 GPIO_ACTIVE_LOW>; /* PG2 */
		};
	};

其中

gpios = <&pio 6 1 GPIO_ACTIVE_LOW>; /* PG1 */

代表引脚 6 * 32 + 1  也就是 PG1( A~G: 0~6)
其名字为:licheepi:blue:usr

## 系统启动后与LED控制有关的文件

系统启动后,将看到这样的文件

# ls /sys/class/leds/
licheepi:blue:usr   licheepi:green:usr  licheepi:red:usr

这里三个文件夹分别对应设备树中定义的三个LED。

## 如何控制LED灯亮灭
点亮LED

echo 1 > /sys/class/leds/licheepi\:green\:usr/brightness 

熄灭LED

echo 0 > /sys/class/leds/licheepi\:green\:usr/brightness 

控制LED闪烁

# ls /sys/class/leds/licheepi\:blue\:usr/
brightness      max_brightness  subsystem       uevent
device          power           trigger
# cat /sys/class/leds/licheepi\:blue\:usr/trigger 
[none] 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 heartbeat default-on
这里可以看到当前的值为none,表示没有trigger,将其值改成heartbeat就可以看到闪烁了
# echo heartbeat > /sys/class/leds/licheepi\:blue\:usr/trigger

最近编辑记录 ifree64 (2020-08-04 07:36:18)

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn