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

中元建设网站宁波seo推广怎么做

中元建设网站,宁波seo推广怎么做,做的最好的紫砂网站,二次元风格wordpress模板在前几篇笔记之中都是使用的GPIO输出功能#xff0c;还没有用过GPIO输入功能#xff0c;本章就来学习一下如果在Linux下编写GPIO输入驱动程序。正点原子STM32MP1开发板上有三个按键#xff0c;就使用这些按键来完成GPIO输入驱动程序#xff0c;同时利用原子操作来对按键值进…在前几篇笔记之中都是使用的GPIO输出功能还没有用过GPIO输入功能本章就来学习一下如果在Linux下编写GPIO输入驱动程序。正点原子STM32MP1开发板上有三个按键就使用这些按键来完成GPIO输入驱动程序同时利用原子操作来对按键值进行保护。 Linux下按键驱动原理 按键驱动和LED驱动原理上来讲基本都是一样的都是操作GPIO只不过一个是读取GPIO的高低电平一个是从GPIO输出高低电平。本章实现按键输入在驱动程序中使用一个整形变量来表示按键值应用程序通过read函数来读取按键值判断按键有没有按下。在这里这个保存按键值的变量就是个共享资源驱动程序要向其写入按键值应用程序要读取 按键值。所以要对其进行保护对于整形变量而言首选的就是原子操作使用原子操作对变量进行赋值以及读取。Linux下的按键驱动原理很简单接下来开始编写驱动。 注意本章例程只是为了演示Linux下GPIO输入驱动的编写实际中的按键驱动并不会采用本章中所讲解的方法Linux下的input子系统专门用于输入设备 硬件原理图分析 开发板上有三个按键KEY0、KEY1和WK_UP原理图如下图所示 从上图可以看出按键KEY0 、KEY1和WK_UP这三个按键分别连接到正点原子STM32MP1开发板的PG3、PH7和PA0这三个IO上。本节只用到KEY0这个按键从上图可以看出KEY0接了一个10K的上拉电阻因此KEY0没有按下的时候PG3应该是 高电平当KEY0按下以后PG3就是低电平。 实验程序编写 修改设备树文件 在根节点“/”下创建KEY节点命名为“key”节点内容如下 示例代码29.3.1.1 创建KEY节点 1 key { 2 compatible alientek,key; 3 status okay; 4 key-gpio gpiog 3 GPIO_ACTIVE_LOW; 5 };按键驱动程序编写 这里总体跟驱动LED的结构是类似的。 首先在设备结构体key_dev中定义一个原子变量atomic_t的keyvalue。 在初始化函数keyio_init中与之前的区别就是在最后调用gpio_direction_input设定gpio为输入模式。 key_open中只要调用keyio_init初始化按键。 key_read中通过gpio_get_value来读取IO口当前电平如果读到0也就是低电平在维持高电平也就是按键持续按下进入while循环等待释放释放后设置atomic_set为KEY0VALUE(0XF0)。然后通过atomic_read读取原子变量。 在mykey_init中调用(atomic_t)ATOMIC_INIT(0)初始化原子变量然后通过atomic_set设置原子变量为INVAKEY(0X00)。 编写测试APP 这里就是在open这个字符设备之后在while死循环中read值以此来判断按键是否按下。 运行测试 编译驱动程序和测试APP 编译驱动程序 把Makefile的obj-m改成key.o然后“make”就可以了。 编译测试APP 可以通过如下命令编译keyApp.c arm-none-linux-gnueabihf-gcc keyApp.c -o keyApp 运行测试 将上一小节编译出来的key.ko和keyApp这两个文件拷贝到rootfs/lib/modules/5.4.31目录中重启开发板进入到目录lib/modules/5.4.31中输入如下命令加载key.ko驱动模块 depmod //第一次加载驱动的时候需要运行此命令 modprobe key.ko //加载驱动 加载成功后通过如下命令来测试 ./keyApp /dev/key 按下开发板上的KEY0keyApp就会过去并输出案件信息如下图所示 从上图可以看出当按下KEY0以后就会打印出“KEY0 Press, value 0XF0”表示按键按下。但是可能会发现有时候按下一次KEY0但是会输出好几行“KEY0 Press, value 0XF0”这是因为代码没有做按键消抖处理。 如果要卸载驱动可以使用如下命令 rmmod key.ko 总结 按键输入和之前的LED驱动是很相似的只是在驱动之中要换成gpio_direction_input表示这个GPIO是输入的。然后使用原子变量的时候是在key_read之中通过原子变量控制读操作不会产生并发竞争。
http://www.hkea.cn/news/14354468/

相关文章:

  • 数字广东网络建设有限公司招聘海淀seo搜索优化多少钱
  • 做水果网站需要些什么手续ppt模板免费网址
  • 手机能建设网站忙如何设定旅游网站seo核心关键词
  • 称心的常州网站建设layui做的网站
  • 加强网站队伍建设响应式网站seo
  • 新兴县城乡建设局网站登录天台做网站
  • 网站建设需注意的问题百度网盘官网网页版
  • 微信h5免费制作网站模板下载上海网站建设seo站霸网络
  • 黄金网站app软件下载安装杭州市优化服务
  • 宁夏住房和城乡建设厅网站网站常用图标素材
  • 云和建设局网站免费网页托管
  • 旅游网站建设ppt模板微信小程序彻底清除数据
  • 网站免费制作网站界面风格设计描述
  • 海宁做网站的公司免费网站如何做宣传
  • 广州市住房和城乡建设局官方网站企业网站报价模板下载
  • seo顾问 工资seo 网站树
  • 浏览器网站进入口朋友圈推广文案
  • 秦皇岛优化网站排名汉中公司网站建设
  • 崇左网页设计seo工作职位
  • wordpress所有图片资深seo顾问
  • 报名网站辽宁省建设银行wordpress表情按钮
  • 温州做网站多少钱百度链接提交入口
  • 快速建站公司地址wordpress入站密码
  • 永康高端网站建设html5网站基础
  • 安徽省住房城乡建设部网站福州市住房和城乡建设部网站
  • 北京做网站浩森宇特江苏嘉力电力建设有限公司网站
  • ps做专业网站杭州有什么互联网大厂
  • 网站和网页wordpress做x站主题
  • 泉州住房城乡建设局网站网站新增一个域名备案
  • 唐山彩钢中企动力提供网站建设定制网站建设流程