关于Linux内核自带GPIO LED控制(正点原子开发板呼吸灯的一些小问题)
1.阻塞式IO2.Linux内核中断irq.h头文件找不到的问题
3.关于Linux内核自带GPIO LED控制(正点原子开发板呼吸灯的一些小问题)
4.关于正点原子input子系统,驱动中按键中断只检测了上升或下降沿却可以实现连按(EV_REP)的原因5.正点原子ALPHA开发板使用4.3寸触摸屏LCD驱动实验显示不正常正点原子Linux开发板IMX6ULL上的呼吸灯如何停止?
学习到驱动开发Linux系统自带的LED驱动控制的时候,才知道,原来该呼吸灯经过设备树配置好之后,直接由Linux内核程序配置为呼吸灯(前提是在内核中配置过,可以使用make menuconfig
来去配置内核)。
所以在之前写led灯的驱动的时候,因为这个呼吸灯无法看到实验现象,查询资料才知道,正点原子他们默认配置为了呼吸灯(通过Linux内核自带的驱动)
- 差评一下这个,教程里是错的,路径不对,根本没用,当时困惑好久
正确做法
当希望停止掉这个呼吸灯的时候,通过Linux内核自带的驱动程序来改变触发方式。具体为,可以用MobaXterm进入/sys/devices/platform/dtsleds/
这个路径。其中dtsleds为设备树中自己写的节点名字,正点原子写成了dtsleds(可以在设备树中,查阅绑定文档自己修改)。所以,教程里错的是因为,在/sys/class/leds/下没用sys-led这个,因为这是设备树自己配置的节点名字而已!!!。
在这个路径下,可以看到
其中leds是配置的led集合,进入之后可以见到red(也是设备树自己配置命名的)。
进去之后可以看到有很多项。其实都是Linux自带的驱动程序。brightness可以调节亮度。但是得首先改变trigger触发方式。
通过cat trigger
可以查阅,目前配置方式为heartbeat
。中括号括起来的
所以要先修改触发方式为none,再去修改brightness或者做相关操作。
echo none > trigger // 注意当前的路径实在/red里头
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!