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

平顶山市网站建设网站开发公司开发过程

平顶山市网站建设,网站开发公司开发过程,网站开发开题报告计划进度安排,含山县建设局网站下载GPIO控制 嵌入式linux下应用编程会经常使用到gpio#xff0c;GPIO 可以通过 sysfs 方式进行操控#xff0c;进入到/sys/class/gpio 目录下#xff0c;如下所示#xff1a; 可以看到该目录下包含两个文件 export、 unexport 以及 5 个 gpiochipX#xff08;X 等于 0、 32、…GPIO控制 嵌入式linux下应用编程会经常使用到gpioGPIO 可以通过 sysfs 方式进行操控进入到/sys/class/gpio 目录下如下所示 可以看到该目录下包含两个文件 export、 unexport 以及 5 个 gpiochipXX 等于 0、 32、 64、 96、 128命名的文件夹。 ⚫ gpiochipX 当前 SoC 所包含的 GPIO 控制器不同的soc包含不同的GPIO控制器当前使用的soc的GPIO控制器分别为 GPIO1、 GPIO2、 GPIO3、 GPIO4、 GPIO5在这里分别对应 gpiochip0、 gpiochip32、gpiochip64、 gpiochip96、 gpiochip128 这 5 个文件夹 每一个 gpiochipX 文件夹用来管理一组 GPIO。 随便进入到其中某个目录下可以看到这些目录下包含了如下文件 在这个目录我们主要关注的是 base、 label、 ngpio 这三个属性文件这三个属性文件均是只读、不可写。 base 与 gpiochipX 中的 X 相同表示该控制器所管理的这组 GPIO 引脚中最小的编号。每一个 GPIO引脚都会有一个对应的编号 Linux 下通过这个编号来操控对应的 GPIO 引脚。 label 该组 GPIO 对应的标签也就是名字。 ngpio 该控制器所管理的 GPIO 引脚的数量所以引脚编号范围是 base ~ basengpio-1 。 对于给定的一个 GPIO 引脚如何计算它在 sysfs 中对应的编号呢其实非常简单譬如给定一个 GPIO引脚为 GPIO4_IO16那它对应的编号是多少呢首先我们要确定 GPIO4 对应于 gpiochip96该组 GPIO 引脚的最小编号是 96对应于 GPIO4_IO0所以 GPIO4_IO16 对应的编号自然是 96 16 112同理GPIO3_IO20 对应的编号是 64 20 84。 ⚫ export 用于将指定编号的 GPIO 引脚导出。 在使用 GPIO 引脚之前需要将其导出导出成功之后才能使用它。 注意 export 文件是只写文件不能读取将一个指定的编号写入到 export 文件中即可将对应的 GPIO 引脚导出譬如 echo 0 export # 导出编号为 0 的 GPIO 引脚 导出成功之后会发现在/sys/class/gpio 目录下生成了一个名为 gpio0 的文件夹gpioX X 表示对应的编号。这个文件夹就是导出来的 GPIO 引脚对应的文件夹用于管理、控制该 GPIO 引脚稍后再给大家介绍。 unexport 将导出的 GPIO 引脚删除。当使用完 GPIO 引脚之后我们需要将导出的引脚删除同样该文件也是只写文件、不可读譬如 echo 0 unexport # 删除导出的编号为 0 的 GPIO 引脚 删除成功之后之前生成的 gpio0 文件夹就会消失 以上就给大家介绍了/sys/class/gpio 目录下的所有文件和文件夹控制 GPIO 引脚主要是通过 export 导出之后所生成的 gpioXX 表示对应的编号文件夹在该文件夹目录下存在一些属性文件可用于控制 GPIO引脚的输入、输出以及输出的电平状态等。 GPIO使用 将指定的编号写入到 export 文件中可以导出指定编号的 GPIO 引脚导出成功之后会在/sys/class/gpio目录下生成对应的 gpioXX 表示 GPIO 的编号文件夹以前面所生成的 gpio0 为例进入到 gpio0 目录该目录下的文件如下所示 我们主要关心的文件是 active_low、 direction、 edge 以及 value 这四个属性文件接下来分别介绍这四个属性文件的作用 ⚫ direction 配置 GPIO 引脚为输入或输出模式。该文件可读、可写读表示查看 GPIO 当前是输入还是输出模式写表示将 GPIO 配置为输入或输出模式读取或写入操作可取的值为out输出模式和in输入模式如下所示 ⚫ value 在 GPIO 配置为输出模式下向 value 文件写入0控制 GPIO 引脚输出低电平写入1则控制 GPIO 引脚输出高电平。在输入模式下读取 value 文件获取 GPIO 引脚当前的输入电平状态。譬如 # 获取 GPIO 引脚的输入电平状态 echo in direction cat value # 控制 GPIO 引脚输出高电平 echo out direction echo 1 value ⚫ active_low 这个属性文件用于控制极性 可读可写默认情况下为 0譬如 # active_low 等于 0 时 echo 0 active_low echo out direction echo 1 value #输出高 echo 0 value #输出低 # active_low 等于 1 时 $ echo 1 active_low $ echo out direction $ echo 1 value #输出低 $ echo 0 value #输出高 由此看出 active_low 的作用已经非常明显了 对于输入模式来说也同样适用。 ⚫ edge 控制中断的触发模式该文件可读可写。 在配置 GPIO 引脚的中断触发模式之前需将其设置为输入模式 非中断引脚 echo none edge 上升沿触发 echo rising edge 下降沿触发 echo falling edge 边沿触发 echo both edge 当引脚被配置为中断后可以使用 poll()函数监听引脚的电平状态变化在后面的示例中将向大家介绍。 注意并不是任何时候都会存在edge文件当GPIO控制器没有进行中断配置时edge是不存在的。所以使用edge进行中断配置必须保证设备树中GPIO控制器进行了中断配置 类似如下情况设备树不进行GPIO控制器的中断描述时edge不存在 input子系统gpio-keys使用 当我们希望gpio作为输入并且由中断触发时可以使用linux自带的key驱动。如果要使用内核自带的 KEY 驱动的话需要配置 Linux 内核。按照如下路径找到相应的配置选项 Linux 内核自带的 KEY 驱动文件为drivers/input/keyboard/gpio_keys.c gpio_keys.c 采用了 platform 驱动框架在 KEY 驱动上使用了 input 子系统实现。 要 使 用 Linux 内 核 自 带 的 按 键 驱 动 程 序 很 简 单 只 需 要 根 据Documentation/devicetree/bindings/input/gpio-keys.txt 这个文件在设备树中添加指定的设备节点即可节点要求如下 ①、节点名字为“gpio-keys”。 ②、 gpio-keys 节点的 compatible 属性值一定要设置为“gpio-keys”。 ③、所有的 KEY 都是 gpio-keys 的子节点每个子节点可以用如下属性描述自己         gpios KEY 所连接的 GPIO 信息。         interrupts KEY 所使用 GPIO 中断信息不是必须的可以不写。         label KEY 名字         linux,code KEY 要模拟的按键也就是示例代码 58.1.2.4 中的这些按键。 ④、如果按键要支持连按的话要加入 autorepeat。 打开 dts根据上面的要求创建对应的设备节点设备节点内容如下所示 gpio-keys {compatible gpio-keys;#address-cells 1;#size-cells 0;autorepeat;key0 {label GPIO Key Enter;linux,code KEY_ENTER;gpios gpio1 18 GPIO_ACTIVE_LOW;}; }; 注意缺省interrupts属性的前提是GPIO控制器已经配置了中断如果使用电平触发中断则不建议保留autorepeat属性否则会一直触发中断。 测试 进入系统使用如下命令eventx换成自己的节点进行测试按下按键会上报input格式数据 hexdump /dev/input/eventx
http://www.w-s-a.com/news/204508/

相关文章:

  • 石家庄有什么好玩的地方2017织梦网站怎么做seo
  • wordpress项目插件seo的含义
  • 网站平台建设的作用电影宣传类网页界面设计
  • 户外网站模板国外优秀的平面设计网站
  • 家政网站怎么做网站机房建设方案
  • 学校网站建设运行情况2022年近期舆情热点话题
  • 做淘宝需要知道什么网站吗有没有做软件的网站
  • 安丘网站建设制作做网站和微信小程序
  • 京东网站的建设与发展前景黑龙江建设网官网登陆
  • soho的网站怎么做微网站平台建设方案
  • 网站开发下载阿里云oss做视频网站
  • 东莞营销网站制作做一个网站建设
  • 啥网站都能看的浏览器下载网站后台管理系统展望
  • 新建站点步骤汉中 wordpress联盟
  • 坪山网站设计的公司网站 seo 设置
  • 济南网站设计公司排名如何免费注册网站域名
  • 网站开发分工甜妹妹福利wordpress
  • 网站中英文要怎么做网站建设的策划文案
  • 合肥推广外包公司佛山seo
  • 成都网站品牌设计策划课堂网站开发
  • 做直播网站赚钱公司网站空间怎么续费
  • 企业网站制作公司有哪些太原网站建设 thinkphp3.2
  • 云集网站哪个公司做的百度竞价排名怎么做
  • 做网站公司赚钱吗网站建设英语翻译
  • 网络公司除了做网站产品设计作品
  • dede网站模板替换湘潭建设路街道网站
  • 东莞网站优化效果如何网络设计工作
  • 网站备案系统验证码出错的解决方案任丘建设银行网站
  • 个人博客建站wordpress叮当app制作
  • 网站式的公司记录怎么做二手书网站策划书