led灯创建设备
一般可以自定义创建一个字符设备,在/dev中创建字符设备
或者利用gpio的子系统在/sys/devices/platform/leds/中创建设备
①在设备树中添加led
/ { 根目录
leds {
compatible = "gpio-leds";
led_name {
label = ""; 定义led的名称
gpios = <&gpio1 22 GPIO_ACTIVE_HIGH>; // &gpio1 是GPIO控制器的设备树节点引用, 22 是GPIO号, GPIO_ACTIVE_HIGH 指明高电平点亮LED
default-state = "off"; // 初始状态
};
};
};
②编译内核
确认内核已经启用了相应的配置选项
CONFIG_LEDS_CLASS
:启用LED类支持。
CONFIG_LEDS_GPIO
:启用基于GPIO的LED支持。
在内核的配置文件(.config
)中设置,或者通过内核的配置菜单(例如使用 make menuconfig
)进行配置。
配置完后编译设备树和内核,将内核烧录到设备中
③调用
即可通过open打开/sys/devices/platform/leds/led_name,并进行操作,写入值控制led灯明灭