1.打开linux配置菜单make menuconfig
-> Device Drivers
-> LED Support (NEW_LEDS [=y])
->LED Support for GPIO connected LEDs
选择“LED Support for GPIO connected LEDs”,将其编译进 Linux 内核此选项上按下“Y”键,使此选项前面变为“<*>”
2.在设备树文件下添加文件
①在dtsleds下创建led节点
②dtsleds 节点的 compatible 属性值一定要为“gpio-leds”
③设置 gpios 属性值,表示此 LED 所使用的 GPIO 引脚!GPIO_ACTIVE_HIGH高电平点亮、 GPIO_ACTIVE_LOW低电平点亮
④设置LED的默认功能(“linux,default-trigger”属性值)
backlight: LED 灯作为背光。
default-on: LED 灯打开
heartbeat: LED 灯作为心跳指示灯,可以作为系统运行提示灯。
ide-disk: LED 灯作为硬盘活动指示灯。
timer: LED 灯周期性闪烁,由定时器驱动,闪烁频率可以修改
⑤可以设置“default-state”属性值,可以设置为 on、 off 或 keep,为 on 的时候 LED 灯默
认打开,为 off 的话 LED 灯默认关闭,为 keep 的话 LED 灯保持当前模式。
dtsleds {
compatible = "gpio-leds";
led1 {
label = "green";
gpios = <&gpio1 9 GPIO_ACTIVE_HIGH>;
// linux,default-trigger = "heartbeat";
default-state = "on";
};
};
3.更新设备树
4.使用LED
echo 1 > /sys/class/leds/red/brightness //打开 LED0
echo 0 > /sys/class/leds/red/brightness //关闭 LED0