当前位置: 首页 > news >正文

三屏合一网站建设临清设计网站

三屏合一网站建设,临清设计网站,制作网站步骤,广州万户网络技术有限公司怎么样一 应用层操作硬件的两种方法 应用层想要对底层硬件进行操控#xff0c;通常可以通过两种方式#xff1a; /dev/目录下的设备文件#xff08;设备节点#xff09;#xff1b;/sys/目录下设备的属性文件。 具体使用哪种方式需要根据不同功能类型设备进行选择#xff0c;通…一 应用层操作硬件的两种方法 应用层想要对底层硬件进行操控通常可以通过两种方式 /dev/目录下的设备文件设备节点/sys/目录下设备的属性文件。 具体使用哪种方式需要根据不同功能类型设备进行选择通常情况下一般简单地设备会使用sysfs方式操控其设备驱动在实现时会将设备的一些属性导出到用户空间sysfs文件系统以属性文件的形式为用户空间提供对这些数据、属性的访问支持譬如LED、GPIO等。但对于一些较复杂的设备通常会使用设备节点的方式譬如LCD等、触摸屏、摄像头等。 1.1 什么是sysfs文件系统 sysfs是一个基于内存的文件系统同devfs、proc文件系统一样称为虚拟文件系统它的作用是将内核信息以文件的方式提供给应用层使用sysfs文件系统的主要功能便是对系统设备进行管理它可以产生一个包含所有系统硬件层次的视图。、 1.2 sysfs与/sys的关系 sysfs文件系统挂载在/sys目录下启动ALPHA/Mini I.MX6U开发板进入Linux系统开发板出厂系统之后我们进入到/sys目录下查看如下所示 /sys下的子目录 说明 /sys/devices 这是系统中所有设备存放的目录也就是系统中的所有设 备在sysfs中的呈现、表达也是sysfs管理设备的最重要 的目录结构。 /sys/block  块设备的存放目录这是一个过时的接口按照sysfs的设 计理念系统所有的设备都存放在/sys/devices目录下所 以/sys/block目录下的文件通常是链接到/sys/devices目录下的文件。  /sys/bus 这是系统中的所有设备按照总线类型分类放置的目录结 构/sys/devices目录下每一种设备都是挂在某种总线下 的譬如i2c设备挂在I2C总线下。同样/sys/bus目录下 的文件通常也是链接到了/sys/devices目录。 /sys/class这是系统中的所有设备按照其功能分类放置的目录结构 同样该目录下的文件也是链接到了/sys/devices目录。按照 设备的功能划分组织在/sys/class目录下譬如/sys/class/leds 目录中存放了所有的LED设备/sys/class/input目录中存放/sys/dev 这是按照设备号的方式放置的目录结构同样该目录下的 文件也是链接到了/sys/devices目录。该目录下有很多以主 设备号:次设备号major:minor命名的文件这些文件都 是链接文件链接到/sys/devices目录下对应的设备。 /sys/firmware 描述了内核中的固件/sys/fs 用于描述系统中所有文件系统包括文件系统本身和按文 件系统分类存放的已挂载点。/sys/kernel 这里是内核中所有可调参数的位置/sys/module 这里有系统中所有模块的信息。 /sys/power 这里是系统中电源选项有一些属性可以用于控制整个系 统的电源状态。  系统中所有的设备对象都会在/sys/devices体现出来是sysfs文件系统中最重要的目录结构而/sys/bus、/sys/class、/sys/dev分别将设备按照挂载的总线类型、功能分类以及设备号的形式将设备组织存放在这些目录中这些目录下的文件都是链接到了/sys/devices中。 1.3 LED的控制方式 正点原子 I.MX6U开发板底板上有一颗可被用户控制的LED灯如下所示 此LED设备使用的是Linux内核标准LED驱动框架注册而成在/dev目录下并没有其对应的设备节点其实现使用sysfs方式控制。进入到/sys/class/leds目录下如下所示   这里我们主要关注便是brightness、max_brightness以及trigger三个文件这三个文件都是LED设备的属性文件   brightness控制LED的亮灭max_brightness该属性文件只能被读取不能写用于获取LED设备的最大亮度等级。trigger触发模式该属性文件可读可写读表示获取LED当前的触发模式写表示设置LED的触发模式。不同的触发模式其触发条件不同LED设备会根据不同的触发条件自动控制其亮、灭状态通过cat命令查看该属性文件可获取LED支持的所有触发模式以及LED当前被设置的触发模式方括号[heartbeat]括起来的表示当前LED对应的触发模式none表示无触发常用的触发模式包括none无触发、mmc0当对mmc0设备发起读写操作的时候LED会闪烁、timerLED会有规律的一亮一灭被定时器控制住、heartbeat心跳呼吸模式LED模仿人的心跳呼吸那样亮灭变化。 大致控制方式将设备属性文件进行写入操作 echo timer trigger //将LED触发模式设置为timer echo none trigger //将LED触发模式设置为none echo 1 brightness //点亮LED echo 0 brightness//熄灭LED #include stdio.h #include sys/types.h #include sys/stat.h #include fcntl.h #include stdlib.h #include string.h #include unistd.h#define LED_TRIGGER /sys/class/leds/sys-led/trigger #define LED_ON_OFF /sys/class/leds/sys-led/brightness #define HELP() fprintf(stderr, usage:\n %s on|off\n %s trigger type\n, argv[0], argv[0]) #define NONE 0 #define MMC0 1 #define TIMER 2 #define HEARTBEAT 3int msg_handle(char *buf) {if(!strcmp(buf,none)){return NONE;}if(!strcmp(buf,mmc0)){return MMC0;}if(!strcmp(buf,timer)){return TIMER;}if(!strcmp(buf,heartbeat)){return HEARTBEAT;} return -1; }int main(int argc ,char *argv[]) {int fd1 0;int fd2 0;int ret 0;int write_ret 0;if(argc 2){HELP();exit(-1);}fd1 open(LED_TRIGGER,O_RDWR); //fd1设备文件操作为控制触发方式if(fd10){perror(触发模式:);}fd2 open(LED_ON_OFF,O_RDWR); //fd2设备文件用于控制开关if(fd20){perror(开关状态:);}if(!strcmp(argv[1],on)){write(fd1,none,strlen(none));write(fd2,1,1);}else if(!strcmp(argv[1],off)){write(fd1,none,strlen(none));write(fd2,0,1);}else if(!strcmp(argv[1],trigger)){if(argc ! 3){HELP();exit(-1);}ret msg_handle(argv[2]);switch (ret){case NONE:break;case MMC0:break;case TIMER:write_ret write(fd1,argv[2],strlen(argv[2]));if(write_ret 0){perror();}break;case HEARTBEAT:write_ret write(fd1,argv[2],strlen(argv[2]));if(write_ret 0){perror();}break;default:HELP();break;}}close(fd1);close(fd2); } 程序中定义了两个宏LED_TRIGGER和LED_BRIGHTNESS分别对应/sys/class/leds/sys-led/trigger和/sys/class/leds/sys-led/brightness属性文件
http://www.w-s-a.com/news/338094/

相关文章:

  • 门户网站想要微信登录怎么做湖南网站seo推广
  • 襄阳 网站建设管理系统网站
  • 重庆工程建设招标投标交易信息网广州外贸seo优化
  • 一个一起做网站东莞设计兼职网站建设
  • 杭州网站程序开发公司在哪个公司建设网站好
  • 网店的网站设计方案济南手机建站价格
  • 网站做了301重定向域名会自动跳转吗唐山地方志网站建设
  • 学校网站建设说明书海南省建设执业资格注册管理中心网站
  • 东莞哪家网站建设好网站风格设定
  • 自驾游网站模板搭建wordpress步骤
  • wordpress视频网站上传视频提升学历是什么意思
  • 江西省城乡建设厅建设网站浙江建设
  • 网站联系我们页面临平做网站
  • 如何用网站做cpa交互比较好的网站
  • 一家只做特卖的网站wordpress修改模板教程
  • 与恶魔做交易的网站成都到西安高铁票价
  • 太原网站制作哪家便宜长春昆仑建设股份有限公司网站
  • 优质做网站价格设计手机商城网站建设
  • 高校网站建设制度无锡网站建设排名
  • 做网站的软件wd的叫啥无锡公司网站建设服务
  • 网站建设一般需要多久网站服务器基本要素有哪些
  • 大连开发区网站开发公司免费网站建设哪个好?
  • 关于建设门户网站的通知海曙区建设局网站
  • 韩国建设部网站温州企业网站制作
  • 苏州网站建设优化贵州网站建设lonwone
  • 网站建设与推广方案模板网站建设教程搭建浊贝湖南岚鸿给力
  • 网站建设内部下单流程图昆明网站制作公司
  • 手机网站焦点图在线外链推广
  • 做静态页面的网站中国建设银行河南省分行网站
  • 镇平县两学一做专题网站佛山家居网站全网营销