色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

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

如何創(chuàng)建sysfs接口

麥辣雞腿堡 ? 來源:嵌入式Linux充電站 ? 作者:Vincent ? 2023-09-27 11:33 ? 次閱讀

sysfs接口創(chuàng)建

基本步驟:

1、使用DEVICE_ATTR聲明一個sys節(jié)點

static DEVICE_ATTR(led_status, 0600, led_status_show, led_status_store);

led_status:在sys接口中顯示的節(jié)點名字

0600:表示操作這個led_status節(jié)點的權(quán)限

led_status_show:使用cat命令查看sys接口時調(diào)用的函數(shù)

led_status_store:使用echo命令往sys接口寫入內(nèi)容時調(diào)用的函數(shù)

2、完成sys節(jié)點的讀寫函數(shù)

static unsigned int led = 0;
/*
*  sys節(jié)點的讀函數(shù)
*  執(zhí)行 cat /sys/devices/platform/leds/led_status時會調(diào)用
*/
static ssize_t led_status_show(struct device *dev, struct device_attribute *attr, char *buf)
{
  //buf是通過cat命令顯示到終端的內(nèi)容,這里顯示led變量
 return sprintf(buf, "%s:%d.n", "led", led);
}

/**
*  sys節(jié)點的寫函數(shù)
*  用echo命令往sys節(jié)點寫入內(nèi)容時,會調(diào)用該函數(shù)
*/
static ssize_t led_status_store(struct device *dev, struct device_attribute *attr, const char *buf, size_t count)
{
  //寫入的內(nèi)容會存放到buf中,這里將buf內(nèi)容賦值給led變量
 sscanf(buf, "%d", &led);

 return count;
}

示例中,led_status_show()函數(shù)和led_status_store()函數(shù)的作用分為打印led變量的值修改led變量的值 .

3、定義struct attributestruct attribute_group數(shù)組

static struct attribute *led_attributes[]={
 
  /*上述使用了DEVICE_ATTR聲明節(jié)點名字為led_status,
  * 則struct attribute名字應(yīng)為:
  *  dev_attr_ + (節(jié)點名) + .attr
  * 所以名字為dev_attr_led_status.attr
  */
  &dev_attr_led_status.attr,
 NULL,
};


static const struct attribute_group led_attrs={
 .attrs = led_attributes,//引用上述struct attribute數(shù)組
};

上述使用了DEVICE_ATTR聲明節(jié)點名字為led_status, 則struct attribute名字應(yīng)為:dev_attr_ + (節(jié)點名) + .attr。所以名字為dev_attr_led_status.attr

4、在probe函數(shù)中調(diào)用sysfs_create_group()函數(shù)注冊sysfs接口

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

    關(guān)注

    33

    文章

    8650

    瀏覽量

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

    關(guān)注

    12

    文章

    1844

    瀏覽量

    85367
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11322

    瀏覽量

    209867
  • Sysfs
    +關(guān)注

    關(guān)注

    0

    文章

    15

    瀏覽量

    6248
收藏 人收藏

    評論

    相關(guān)推薦

    Linux sysfs設(shè)備驅(qū)動管理簡介

    今天主要和大家聊一聊,sysfs設(shè)備驅(qū)動管理。
    發(fā)表于 10-14 09:57 ?1332次閱讀

    Linux驅(qū)動中創(chuàng)建sysfs接口的方法

    在一些linux開發(fā)板中,經(jīng)常可以看到通過echo的方式來直接控制硬件或者修改驅(qū)動。
    發(fā)表于 05-31 16:24 ?892次閱讀

    Linux驅(qū)動中創(chuàng)建procfs接口的方法

    上篇介紹了Linux驅(qū)動中sysfs接口創(chuàng)建,今天介紹procfs接口創(chuàng)建
    發(fā)表于 05-31 16:48 ?759次閱讀
    Linux驅(qū)動中<b class='flag-5'>創(chuàng)建</b>procfs<b class='flag-5'>接口</b>的方法

    Linux驅(qū)動中創(chuàng)建debugfs接口的方法

    上篇介紹了procfs接口創(chuàng)建,今天再介紹一種debugfs接口創(chuàng)建
    發(fā)表于 05-31 16:53 ?1049次閱讀
    Linux驅(qū)動中<b class='flag-5'>創(chuàng)建</b>debugfs<b class='flag-5'>接口</b>的方法

    【AWorks試用體驗】使用sysfs文件系統(tǒng) 控制IED(1) Shell 點亮LED

    在嵌入式設(shè)備中控制GPIO 一般做法是通過寫一個單獨的驅(qū)動程序。而大多數(shù)資料顯示都是使用這一種方法。 但其實Linux下有一個通用的 GPIO 控制接口, 就是 sysfs文件系統(tǒng)什么是sysfs
    發(fā)表于 08-16 19:17

    字符設(shè)備驅(qū)動,平臺設(shè)備驅(qū)動,設(shè)備驅(qū)動模型,sysfs的比較

    、device_driver和bus等在向系統(tǒng)注冊的過程中會調(diào)用sysfs的create_dir接口創(chuàng)建對應(yīng)的目錄,而含有struct attribute成員屬性的device、device_driver和bus
    發(fā)表于 09-03 12:04

    sysfs platform總線

    ,它是通過kobject子系統(tǒng)來建立這個信息的,當(dāng)一個kobject被創(chuàng)建的時候,對應(yīng)的文件和目錄也就被創(chuàng)建了,位于 /sys下的相關(guān)目錄下,既然每個設(shè)備在sysfs中都有唯一對應(yīng)的目錄,那么也就可以被
    發(fā)表于 06-26 05:43

    openSTLinux上的sysfs接口無法使用可能是什么問題?

    我正在嘗試使用 openSTLinux 上的 sysfs 接口對一些引腳進行 PWM,但不幸的是,它不起作用。我一直在更改設(shè)備樹文件以使其正常工作,但仍然沒有成功。當(dāng)我運行時:ls /sys/class/pwm我什么也得不到。可能是什么問題?PWM 在內(nèi)核上啟用。
    發(fā)表于 12-15 06:45

    【EASY EAI Nano人工智能開發(fā)套件試用體驗】GPIO點燈——使用sysfs接口

    本文記錄了如何使用Linux上經(jīng)典的sysfs接口控制GPIO。不同于靈眸官方文檔介紹的較新的libgpiod接口sysfs接口可以在sh
    發(fā)表于 06-23 20:01

    Linux的那些事兒之我是Sysfs

    Linux的那些事兒之我是Sysfs
    發(fā)表于 10-29 09:28 ?5次下載
    Linux的那些事兒之我是<b class='flag-5'>Sysfs</b>

    學(xué)會使用Linux 文件系統(tǒng):procfs, sysfs, debugfs

    sysfs 中,有另外一個常見用法,那就是在一個 kobject 對應(yīng)的目錄下創(chuàng)建一個符號(屬性文件)指向另外一個 kobject 對應(yīng)的目錄,通常這個是為了方便記憶和訪問。這個API是 sysfs_create_link。
    發(fā)表于 04-25 17:19 ?1228次閱讀

    Linux RTC驅(qū)動模型分析之rtc-sysfs.c

    rtc-sysfs文件主要的操作就是在sys下創(chuàng)建rtc的屬性節(jié)點,可以方便用戶方便快捷的訪問,查找問題。下來大概看看sys下的rtc節(jié)點,有個直觀的認識。
    發(fā)表于 04-27 19:43 ?2486次閱讀

    Linux設(shè)備模型:sysfs

    sysfs是一個基于RAM的文件系統(tǒng),它和Kobject一起,可以將Kernel的數(shù)據(jù)結(jié)構(gòu)導(dǎo)出到用戶空間,以文件目錄結(jié)構(gòu)的形式,提供對這些數(shù)據(jù)結(jié)構(gòu)(以及數(shù)據(jù)結(jié)構(gòu)的屬性)的訪問支持。
    發(fā)表于 05-12 09:50 ?1385次閱讀

    在驅(qū)動中創(chuàng)建sysfs接口完整例子

    設(shè)備樹: leds : leds{ compatible = "xx,xx-led"; }; 驅(qū)動: static unsigned int led = 0 ; static ssize_t led_status_show ( struct device *dev, struct device_attribute *attr, char *buf ) { return sprintf(buf, "%s:%d.n" , "led" , led);} static ssize_t led_status_store ( struct device *dev, struct device_attribute *attr, const char *buf, size_t count ) { sscanf(buf, "%d" , return count;} static DEVICE_ATTR ( led_status, 0600 , led_status_show, led_status_store ) ; static struct attribute *led_attributes[]={ static const struct attribute_group led_attrs={ .attrs = led_attributes,}; static int
    的頭像 發(fā)表于 09-27 11:46 ?477次閱讀

    linux--sysfs文件系統(tǒng)

    sysfs文件系統(tǒng) sysfs,全稱為System Filesystem,是一個由Linux內(nèi)核實現(xiàn)的虛擬文件系統(tǒng)。它扮演著一個橋梁的角色,將內(nèi)核中的設(shè)備和驅(qū)動程序信息以文件的形式呈現(xiàn)給用戶空間
    的頭像 發(fā)表于 07-08 11:37 ?935次閱讀
    linux--<b class='flag-5'>sysfs</b>文件系統(tǒng)
    主站蜘蛛池模板: 久久九九日本韩国精品| 国产欧美一区二区三区免费| 午夜dj免费中文字幕| 欧洲人交xxx69| 免费看国产曰批40分钟| 久久久久久人精品免费费看| 精品久久久噜噜噜久久久app| 国产亚洲人成在线视频| 国产精品久久久久久久伊一 | 国产精华av午夜在线观看| 第一次玩老妇真实经历| 成人国产亚洲欧美成人综合网 | 国产精品久久高潮呻吟无码| 风流少妇BBWBBW69视频| 高清一区二区亚洲欧美日韩| 岛国大片在线观看完整版| 国产成人免费片在线观看| 国产精品JIZZ视频免费| 国产人妻人伦精品A区| 国产在线精品一区二区网站免费| 国模大胆一区二区三区 | 一一本之道高清视频在线观看中文字幕 | 老湿司午夜爽爽影院榴莲视频| 久久青青草原| 麻豆一二三四区乱码| 暖暖 日本 视频 在线观看免费| 欧美日韩亚洲第一区在线| 人妻洗澡被强公日日澡| 日韩人妻双飞无码精品久久| 歪歪漫画羞羞漫画国产| 亚洲精品久久久久AV无码林星阑| 一本大道熟女人妻中文字幕在线| 在线播放性xxx欧美| 91热久久免费精品99| 成年人视频在线免费| 国产女人毛片| 九九热视频在线观看| 蜜芽tv在线www| 日韩人妻无码专区一本二本| 亚洲成在人线视频| 伊人综合在线影院|