[*] LED Support --- > LED Class Support LED Support for GPIO connected LEDs [*] LED Trigger support --- > 我們的LED驅(qū)動是基于GPIO的,因此需要打開內(nèi)核LED驅(qū)動的支持。 內(nèi)核有兩個對應(yīng)的驅(qū)動程序,分別是 GPIO驅(qū)動 和 LED驅(qū)動 , 基于GPIO的LED驅(qū)動調(diào)用了GPI" />

chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何實(shí)現(xiàn)Linux下的LED驅(qū)動

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-09-27 11:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

LED驅(qū)動

我們以imx6ull pro開發(fā)板的板載led為例,其板載了一個可控制的Led2,原理圖如下:

圖片

LED2進(jìn)行上拉電阻,另外一個管腳接到了GPIO5_3,因此GPIO5_3輸出低電平即可點(diǎn)亮LED。下面說明如何控制該LED。

內(nèi)核配置:

Device Drivers  --- >
  [*] LED Support  --- >
   < * >   LED Class Support
   < * >   LED Support for GPIO connected LEDs
   [*]   LED Trigger support  --- >

我們的LED驅(qū)動是基于GPIO的,因此需要打開內(nèi)核LED驅(qū)動的支持。

內(nèi)核有兩個對應(yīng)的驅(qū)動程序,分別是GPIO驅(qū)動LED驅(qū)動 , 基于GPIO的LED驅(qū)動調(diào)用了GPIO驅(qū)動導(dǎo)出的函數(shù)

LED驅(qū)動實(shí)現(xiàn)代碼請參考:drivers/leds/leds-gpio.c,它實(shí)現(xiàn)了一個leds類,通過sysfs接口對LED進(jìn)行控制。

設(shè)備樹:

leds{
 compatible = "gpio-leds";
 
        led2{
            label = "led2";
            gpios = < &gpio5 3 GPIO_ACTIVE_LOW >;//GPIO_ACTIVE_LOW,代表低電平點(diǎn)亮LED
            default-state = "on";
        };
}

在設(shè)備樹中創(chuàng)建一個名為leds的節(jié)點(diǎn),compatible"gpio-leds",這樣可以匹配到leds-gpio.c的驅(qū)動。

然后創(chuàng)建一個子節(jié)點(diǎn),名為led2。需要填三個屬性:label、gpiosdefault-state。

label :lable是出現(xiàn)在sys目錄下的名字,即生成/sys/class/leds/led2

gpios :前兩個值指定了該LED所連接的GPIO。第三個值可填GPIO_ACTIVE_HIGHGPIO_ACTIVE_LOWGPIO_ACTIVE_HIGH代表高電平點(diǎn)亮LED,GPIO_ACTIVE_LOW代表低電平點(diǎn)亮LED。

這里注意了,gpios屬性的第三個參數(shù),代表該gpio點(diǎn)亮LED是需要高電平還是低電平,注意是點(diǎn)亮LED,細(xì)品

default-state :on代表默認(rèn)情況LED是點(diǎn)亮的,off代表默認(rèn)LED熄滅

這里又注意了,當(dāng)defalut-state為on時,實(shí)際上gpio輸出的電平,就是gpios屬性中指定的點(diǎn)亮LED時的電平

設(shè)備樹配置好后,編譯并更換dtb,然后重啟開發(fā)板??梢钥吹?code>/sys/class/leds/led2目錄:

圖片

/sys/class/leds/led2/目錄下有一個brightnes文件,可以通過echo``cat的方式查看和修改LED的亮度。因?yàn)長ED連接在GPIO上,所以亮度只有0和1,在本文示例的led2中,0表示點(diǎn)亮,1表示熄滅。

點(diǎn)亮LED:

echo 0 > /sys/class/leds/led2/brightness

熄滅LED:

echo 1 > /sys/class/leds/led2/brightness
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    243

    文章

    24329

    瀏覽量

    683772
  • 驅(qū)動
    +關(guān)注

    關(guān)注

    12

    文章

    1925

    瀏覽量

    87880
  • Linux
    +關(guān)注

    關(guān)注

    88

    文章

    11576

    瀏覽量

    216688
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    6007

    瀏覽量

    110119
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    linux驅(qū)動編寫:從hello world到 LED驅(qū)動

    linux驅(qū)動是連接軟件和硬件的一個中間介質(zhì),實(shí)現(xiàn)了對硬件的配置和控制。進(jìn)一步將硬件抽象化,為軟件操作硬件提供了簡單的接口。不論硬件的具體形式如何,linux
    的頭像 發(fā)表于 11-29 10:28 ?3144次閱讀
    <b class='flag-5'>linux</b><b class='flag-5'>驅(qū)動</b>編寫:從hello world到 <b class='flag-5'>LED</b><b class='flag-5'>驅(qū)動</b>

    嵌入式LinuxLED報(bào)警燈驅(qū)動設(shè)計(jì)

    嵌入式LinuxLED報(bào)警燈驅(qū)動設(shè)計(jì)及編程《嵌入式Linux
    發(fā)表于 11-04 08:18

    LinuxLED驅(qū)動原理

    41.1 Linux LED驅(qū)動原理Linux 的任何外設(shè)
    發(fā)表于 12-15 09:11

    Linux驅(qū)動的使用

    圖片的保存4、瀏覽功能的實(shí)現(xiàn)三、視頻監(jiān)控代碼分析1、實(shí)時監(jiān)控2、抓拍圖片3、瀏覽四、家電控制1、家電控制內(nèi)容2、LED控制方法3、Linux驅(qū)動
    發(fā)表于 02-16 07:19

    LINUX的CAN驅(qū)動

    LINUX的CAN驅(qū)動:/* * Microchip MCP2515 CAN controller driver. * * Copyright (C
    發(fā)表于 08-23 11:56 ?21次下載

    Linux環(huán)境USB的原理、驅(qū)動和配置

    本文對 Linux 環(huán)境USB 的原理、驅(qū)動和配置進(jìn)行詳細(xì)介紹。隨著生活水平的提高,人們對 USB 設(shè)備的使用也越來越多,鑒于Linux 在硬件配置上尚不能全部即插即用,因此關(guān)于
    發(fā)表于 01-16 16:57 ?33次下載

    嵌入式LinuxPCSC驅(qū)動的設(shè)計(jì)與實(shí)現(xiàn)

    本文分析了PCSC驅(qū)動的體系結(jié)構(gòu),針對嵌入式Linux平臺的基本特征,設(shè)計(jì)并實(shí)現(xiàn)了一個基于嵌入式Linux的PCSC驅(qū)動程序,
    發(fā)表于 02-24 11:23 ?46次下載

    Linux語音實(shí)時通信實(shí)現(xiàn)

    在設(shè)計(jì)嵌入式語音通信系統(tǒng)的過程中,提出了一種Linux 語音實(shí)時通信方法。利用Linux OSS 內(nèi)核驅(qū)動
    發(fā)表于 05-12 16:34 ?51次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>下</b>語音實(shí)時通信<b class='flag-5'>實(shí)現(xiàn)</b>

    Linux的網(wǎng)絡(luò)HOOK實(shí)現(xiàn)

    最近瘋狂的研究Linux的種種功能,也頗有心得,這里講述一Linux的Net的Hook,使用net的Hook可以實(shí)現(xiàn)很多很多非常底層的功
    發(fā)表于 05-14 10:27 ?5353次閱讀

    如何編寫Linux Nand Flash驅(qū)動

    如何編寫Linux Nand Flash驅(qū)動
    發(fā)表于 10-30 08:36 ?15次下載
    如何編寫<b class='flag-5'>Linux</b> <b class='flag-5'>下</b>Nand Flash<b class='flag-5'>驅(qū)動</b>

    基于Linux的LCD驅(qū)動程序實(shí)現(xiàn)

    基于Linux的LCD驅(qū)動程序實(shí)現(xiàn)
    發(fā)表于 10-30 16:45 ?12次下載
    基于<b class='flag-5'>Linux</b><b class='flag-5'>下</b>的LCD<b class='flag-5'>驅(qū)動</b>程序<b class='flag-5'>實(shí)現(xiàn)</b>

    ADP8870背光LED Linux驅(qū)動

    ADP8870背光LED Linux驅(qū)動
    發(fā)表于 04-20 17:25 ?2次下載
    ADP8870背光<b class='flag-5'>LED</b> <b class='flag-5'>Linux</b><b class='flag-5'>驅(qū)動</b>器

    ADP1650 LED Linux驅(qū)動

    ADP1650 LED Linux驅(qū)動
    發(fā)表于 04-20 20:30 ?2次下載
    ADP1650 <b class='flag-5'>LED</b> <b class='flag-5'>Linux</b><b class='flag-5'>驅(qū)動</b>器

    ADP8860背光LED Linux驅(qū)動

    ADP8860背光LED Linux驅(qū)動
    發(fā)表于 05-17 09:13 ?13次下載
    ADP8860背光<b class='flag-5'>LED</b> <b class='flag-5'>Linux</b><b class='flag-5'>驅(qū)動</b>器

    嵌入式linux報(bào)警,嵌入式LinuxLED報(bào)警燈驅(qū)動設(shè)計(jì)及編程.doc

    嵌入式LinuxLED報(bào)警燈驅(qū)動設(shè)計(jì)及編程《嵌入式Linux
    發(fā)表于 11-01 17:21 ?6次下載
    嵌入式<b class='flag-5'>linux</b>報(bào)警,嵌入式<b class='flag-5'>Linux</b><b class='flag-5'>下</b><b class='flag-5'>LED</b>報(bào)警燈<b class='flag-5'>驅(qū)動</b>設(shè)計(jì)及編程.doc