linux内核自带的LED驱动(六)

文章介绍了如何在Linux内核中启用LED支持,特别是在DeviceDrivers部分选择LEDSupport并编译。接着,在设备树文件中添加LED节点,指定compatible属性为gpio-leds,设置gpios属性以关联GPIO引脚,并定义默认触发器和状态。更新设备树后,可以通过/sys/class/leds接口控制LED的亮度来打开或关闭LED。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值