【Linux】關于Linux內核自帶GPIO LED控制(正點原子開發板呼吸燈的一些小問題)
正點原子Linux開發板IMX6ULL上的呼吸燈如何停止?
學習到驅動開發Linux系統自帶的LED驅動控制的時候,才知道,原來該呼吸燈經過設備樹配置好之后,直接由Linux內核程序配置為呼吸燈(前提是在內核中配置過,可以使用make menuconfig來去配置內核)。
所以在之前寫led燈的驅動的時候,因為這個呼吸燈無法看到實驗現象,查詢資料才知道,正點原子他們默認配置為了呼吸燈(通過Linux內核自帶的驅動)
- 差評一下這個,教程里是錯的,路徑不對,根本沒用,當時困惑好久
![image]()
正確做法
當希望停止掉這個呼吸燈的時候,通過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里頭


浙公網安備 33010602011771號