• 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03
    • / 12
    • 下载费用:30 金币  

    重庆时时彩开奖号码皇家彩世界: 一种LINUX的通用输入输出驱动方法和装置.pdf

    摘要
    申请专利号:

    重庆时时彩单双窍门 www.4mum.com.cn CN201510655465.5

    申请日:

    2015.10.10

    公开号:

    CN106569965A

    公开日:

    2017.04.19

    当前法律状态:

    实审

    有效性:

    审中

    法律详情: 著录事项变更IPC(主分类):G06F 13/10变更事项:申请人变更前:中国长城计算机深圳股份有限公司变更后:中国长城科技集团股份有限公司变更事项:地址变更前:518000 广东省深圳市南山区科技园科发路3号长城计算机大厦变更后:518000 广东省深圳市南山区科技园长城计算机大厦|||实质审查的生效IPC(主分类):G06F 13/10申请日:20151010|||公开
    IPC分类号: G06F13/10 主分类号: G06F13/10
    申请人: 中国长城计算机深圳股份有限公司
    发明人: 黄鹏云; 赵鄂
    地址: 518000 广东省深圳市南山区科技园科发路3号长城计算机大厦
    优先权:
    专利代理机构: 深圳中一专利商标事务所 44237 代理人: 张全文
    PDF完整版下载: PDF下载
    法律状态
    申请(专利)号:

    CN201510655465.5

    授权公告号:

    ||||||

    法律状态公告日:

    2017.05.31|||2017.05.17|||2017.04.19

    法律状态类型:

    著录事项变更|||实质审查的生效|||公开

    摘要

    本发明属于Linux技术领域,提供了一种Linux的通用输入输出驱动方法和装置。所述方法包括:当检测到待申请的通用输入输出(General?Purpose?Input?Output,GPIO)口被占用时,释放所述GPIO口;在释放完成后,将GPIO口引脚由输入输出多路器(Input?Output?Multiplexer,IOMUX)模式设置成GPIO模式,并继续申请所述GPIO口,在所述GPIO口申请成功后,执行所述GPIO口的操作。通过本发明有效解决了现有技术中当GPIO口被占用时,对所述GPIO口进行操作会出现操作失败的问题。

    权利要求书

    1.一种Linux的通用输入输出驱动方法,其特征在于,所述方法包括:
    当检测到待申请的通用输入输出GPIO口被占用时,释放所述GPIO口;
    在释放完成后,将GPIO口引脚由输入输出多路器IOMUX模式设置成GPIO
    模式,并继续申请所述GPIO口,在所述GPIO口申请成功后,执行所述GPIO
    口的操作。
    2.根据权利要求1所述的方法,其特征在于,所述将GPIO口引脚由IOMUX
    模式设置成GPIO模式包括:
    判断释放后的所述GPIO口是否能申请,若否,将GPIO口引脚由IOMUX模
    式设置成GPIO模式。
    3.根据权利要求1所述的方法,其特征在于,在检测待申请的所述GPIO
    口之前,还包括:
    根据接收到的GPIO口编号申请与所述GPIO口编号对应的所述GPIO口。
    4.根据权利要求3所述的方法,其特征在于,在将GPIO口引脚由IOMUX
    模式设置成GPIO模式之前,还包括:
    将所述GPIO口编号转换成所述GPIO口的地址;
    所述将GPIO口引脚由IOMUX模式设置成GPIO模式具体为:
    根据所述GPIO口的地址调用应用程序编程接口API函数,通过所述API
    函数将GPIO口引脚由IOMUX模式设置成GPIO模式。
    5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
    当所述GPIO口申请不成功时,提示所述GPIO口设置错误。
    6.一种Linux的通用输入输出驱动装置,其特征在于,所述装置包括:
    释放???,用于当检测到待申请的通用输入输出GPIO口被占用时,释放所
    述GPIO口;
    处理???,用于在释放完成后,将GPIO口引脚由输入输出多路器IOMUX
    模式设置成GPIO模式,并继续申请所述GPIO口,在所述GPIO口申请成功后,
    执行所述GPIO口的操作。
    7.根据权利要求6所述的装置,其特征在于,所述处理??榛褂糜冢?br />判断释放后的所述GPIO口是否能申请,若否,将GPIO口引脚由IOMUX模
    式设置成GPIO模式。
    8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
    申请???,用于根据接收到的GPIO口编号申请与所述GPIO口编号对应的
    GPIO口。
    9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
    转换???,用于在将GPIO口引脚由IOMUX模式设置成GPIO模式之前,将
    所述GPIO口编号转换成所述GPIO口的地址;
    所述处理???,具体用于根据所述GPIO口的地址调用应用程序编程接口
    API函数,通过所述API函数将GPIO口引脚由IOMUX模式设置成GPIO模式。
    10.根据权利要求6所述的装置,其特征在于,所述处理??榛褂糜冢?br />当所述GPIO口申请不成功时,提示所述GPIO口设置错误。

    说明书

    一种Linux的通用输入输出驱动方法和装置

    技术领域

    本发明属于Linux技术领域,尤其涉及一种Linux的通用输入输出驱动方
    法和装置。

    背景技术

    目前,对于开源系统Linux的各项技术都已经非常成熟,在应用程序的开
    发中需要在上层应用程序中直接操作通用输入输出(General Purpose Input
    Output,GPIO)口。Linux内核驱动提供了一种机制,在需要使用某个GPIO口
    时直接输出所述GPIO口,以便于应用程序直接对所述GPIO口进行读写。然而,
    当某些GPIO口被占用时,对该GPIO口进行操作就会出现操作失败的问题。

    故,有必要提出一种新的技术方案,以解决上述技术问题。

    发明内容

    鉴于此,本发明实施例提供一种Linux的通用输入输出驱动方法和装置,
    旨在解决现有技术中当GPIO口被占用时,对所述GPIO口进行操作会出现操作
    失败的问题。

    本发明实施例的第一方面,提供一种Linux的通用输入输出驱动方法,所
    述方法包括:

    当检测到待申请的通用输入输出GPIO口被占用时,释放所述GPIO口;

    在释放完成后,将GPIO口引脚由输入输出多路器(Input Output
    Multiplexer,IOMUX)模式设置成GPIO模式,并继续申请所述GPIO口,在所
    述GPIO口申请成功后,执行所述GPIO口的操作。

    本发明实施例的第二方面,提供一种Linux的通用输入输出驱动装置,所
    述装置包括:

    释放???,用于当检测到待申请的通用输入输出GPIO口被占用时,释放所
    述GPIO口;

    处理???,用于在释放完成后,将GPIO口引脚由输入输出多路器IOMUX
    模式设置成GPIO模式,并继续申请所述GPIO口,在所述GPIO口申请成功后,
    执行所述GPIO口的操作。

    本发明实施例与现有技术相比存在的有益效果是:本发明实施例当检测到
    待申请的GPIO口被占用时,释放所述GPIO口,在释放完成后,将GPIO口引脚
    由输入输出多路器IOMUX模式设置成GPIO模式,并继续申请所述GPIO口,在
    所述GPIO口申请成功后,执行所述GPIO口的操作,进而使得上层应用程序在
    操作所述GPIO口时能做强制转换,实现了对所述GPIO口成功操作的目的,有
    效解决了现有技术中当所述GPIO口被占用时,对所述GPIO口进行操作会出现
    操作失败的问题。

    附图说明

    为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技
    术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅
    仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳
    动性的前提下,还可以根据这些附图获得其他的附图。

    图1是本发明实施例一提供的Linux的通用输入输出驱动方法的实现流程
    图;

    图2是本发明实施例二提供的Linux的通用输入输出驱动方法的实现流程
    图;

    图3是本发明实施例三提供的Linux的通用输入输出驱动方法的具体流程
    图;

    图4是本发明实施例四提供的Linux的通用输入输出驱动装置的组成示意
    图;

    图5是本发明实施例五提供的Linux的通用输入输出驱动装置的组成示意
    图。

    具体实施方式

    为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实
    施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅
    仅用以解释本发明,并不用于限定本发明。

    实施例一:

    图1示出了本发明实施例一提供的Linux的通用输入输出驱动方法的实现
    流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

    在步骤S101中,当检测到待申请的通用输入输出GPIO口被占用时,释放
    所述GPIO口。

    在本发明实施例中,释放所述GPIO口是让占用所述GPIO口的设备取消所
    述GPIO口相应标志位的设置。

    在步骤S102中,在释放完成后,将GPIO口引脚由输入输出多路器IOMUX
    模式设置成GPIO模式,并继续申请所述GPIO口,在所述GPIO口申请成功后,
    执行所述GPIO口的操作。

    在本发明实施例中,所述将GPIO口引脚由IOMUX模式设置成GPIO模式包
    括:

    判断释放后的所述GPIO口是否能申请,若否,将GPIO口引脚由IOMUX模
    式设置成GPIO模式。

    在本发明实施例中,当所述GPIO口申请不成功时,提示所述GPIO口设置
    错误,并将所述GPIO口引脚恢复成初始状态,从而不影响所述GPIO口的其他
    功能的使用。

    本发明实施例通过当检测到待申请的GPIO口被占用时,释放所述GPIO口,
    在释放完成后,将GPIO口引脚由IOMUX模式设置成GPIO模式,并继续申请所
    述GPIO口,在所述GPIO口申请成功后,执行所述GPIO口的操作,进而使得上
    层应用程序在操作所述GPIO口时能做强制转换,实现了对所述GPIO口成功操
    作的目的,有效解决了现有技术中当所述GPIO口被占用时,对所述GPIO口进
    行操作会出现操作失败的问题。

    实施例二:

    图2示出了本发明实施例二提供的Linux的通用输入输出驱动方法的实现
    流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

    在步骤S201中,根据接收到的GPIO口编号申请与所述GPIO口编号对应的
    所述GPIO口;

    在步骤S202中,当检测到待申请的通用输入输出GPIO口被占用时,释放
    所述GPIO口;

    在本发明实施例中,释放所述GPIO口是让占用所述GPIO口的设备取消所
    述GPIO口相应标志位的设置。

    在步骤S203中,在将GPIO引脚由IOMUX模式设置成GPIO模式之前,将所
    述GPIO口编号转换成所述GPIO口的地址;

    举例说明如下:编号为42的GPIO口可以除以32取整得到1,取余为10,
    再把取余的数10除以8,取整得到1,余数得到2。把除以32得到的整数“1”
    乘以1000H加上除以8得到的整数“1”偏移9转换成十六进制的“A”乘以100
    再加上除以8得到的余数“2”乘以10,就可以得到一个十六进制的地址
    1Hx1000H+(1H+9H)x100+2x10=1a20H。

    在本发明实施例中,将所述GPIO口编号转换成所述GPIO口的地址,用于
    调用应用程序编程接口(Application Programming Interface,API)函数。

    在步骤S204中,在释放完成后,将GPIO口引脚由输入输出多路器IOMUX
    模式设置成GPIO模式,并继续申请所述GPIO口,在所述GPIO口申请成功后,
    执行所述GPIO口的操作。

    在本发明实施例中,所述将GPIO口引脚由IOMUX模式设置成GPIO模式包
    括:

    判断释放后的所述GPIO口是否能申请,若否,将GPIO口引脚由IOMUX模
    式设置成GPIO模式。

    在本发明实施例中所述将GPIO口引脚由IOMUX模式设置成GPIO模式具体
    为:

    根据所述GPIO口的地址调用API函数,通过所述API函数将GPIO口引脚
    由IOMUX模式设置成GPIO模式。

    较佳的是,所述API函数可以是iomux_mode_to_gpio函数,是将GPIO口编
    号转换成所述GPIO口地址的逆运算。

    在本发明实施例中,当所述GPIO口申请不成功时,提示所述GPIO口设置
    错误,并将所述GPIO口引脚恢复初始状态,从而不影响所述GPIO口的其他功
    能的使用。

    本发明实施例通过根据接收到的GPIO口编号申请与所述GPIO口编号对应
    的所述GPIO口,当检测到待申请的GPIO口被占用时,释放所述GPIO口,在释
    放完成后,将所述GPIO口编号转换成所述GPIO口的地址,根据所述GPIO口的
    地址调用API函数,通过所述API函数将GPIO口引脚由IOMUX模式设置成GPIO
    模式,并继续申请所述GPIO口,在所述GPIO口申请成功后,执行所述GPIO
    口的操作,进而使得上层应用程序在操作所述GPIO口时能做强制转换,实现了
    对所述GPIO口成功操作的目的,有效解决了现有技术中当所述GPIO口被占用
    时,对所述GPIO口进行操作会出现操作失败的问题。

    实施例三:

    图3示出了本发明实施例三提供的Linux的通用输入输出驱动方法的具体
    流程,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

    在步骤S301中,根据接收到的GPIO口编号申请与所述GPIO口编号对应的
    GPIO口;

    在步骤S302中,检测待申请的所述GPIO口是否可以申请;

    在步骤S303中,执行所述GPIO口操作;

    在本发明实施例中,当检测到待申请的所述GPIO口可以申请时,执行所述
    GPIO口操作。

    在步骤S304中,恢复初始状态;

    在本发明实施例中,完成所述GPIO口操作后,所述GPIO口的引脚恢复初
    始状态,从而不影响所述GPIO口的其他功能的使用。

    在步骤S305中,释放所述GPIO口;

    在本发明实施例中,释放所述GPIO口是让占用所述GPIO口的设备取消所
    述GPIO口相应标志位的设置。

    在步骤S306中,检测释放后的所述GPIO口是否可以申请;

    在本发明实施例中,检测释放后的所述GPIO口是否可以申请,若是,执行
    步骤S303,否,执行步骤S307。

    在步骤S307中,将所述GPIO口编号转换成所述GPIO口的地址;

    举例说明如下:编号为42的GPIO口可以除以32取整得到1,取余为10,
    再把取余的数10除以8,取整得到1,余数得到2。把除以32得到的整数“1”
    乘以1000H加上除以8得到的整数“1”偏移9转换成十六进制的“A”乘以100
    再加上除以8得到的余数“2”乘以10,就可以得到一个十六进制的地址
    1Hx1000H+(1H+9H)x100+2x10=1a20H。

    在步骤S308中,根据所述GPIO口的地址调用API函数,通过所述API函
    数将GPIO口引脚由IOMUX模式设置成GPIO模式;

    较佳的是,所述API函数可以是iomux_mode_to_gpio函数,是将GPIO口
    编号转换成所述GPIO口地址的逆运算。

    在步骤S309中,检测所述GPIO口是否可以申请;

    在本发明实施例中,检测所述GPIO口是否可以申请,若是,则执行步骤
    S303,否,执行步骤S304。

    通过本发明实施例,使得上层应用程序在操作所述GPIO口时能做强制转
    换,实现了对所述GPIO口成功操作的目的,有效解决了现有技术中当所述GPIO
    口被占用时,对所述GPIO口进行操作会出现操作失败的问题。

    实施例四:

    图4示出了本发明实施例四提供的Linux的通用输入输出驱动装置的组成
    示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

    释放???01,用于当检测到待申请的通用输入输出GPIO口被占用时,释
    放所述GPIO口;

    处理???02,用于在释放完成后,将GPIO口引脚由输入输出多路器IOMUX
    模式设置成GPIO模式,并继续申请所述GPIO口,在所述GPIO口申请成功后,
    执行所述GPIO口的操作。

    进一步的,所述处理???02还用于:

    判断释放后的所述GPIO口是否能申请,若否,将GPIO口引脚由IOMUX模
    式设置成GPIO模式。

    进一步的,所述处理???02还用于:

    当所述GPIO口申请不成功时,提示所述GPIO口设置错误。

    本发明实施例提供的Linux的通用输入输出驱动装置可以使用在前述对应
    的方法实施例一中,详情参见上述实施例一的描述,在此不再赘述。

    通过本发明实施例,使得上层应用程序在操作所述GPIO口时能做强制转
    换,实现了对所述GPIO口成功操作的目的,有效解决了现有技术中当所述GPIO
    口被占用时,对所述GPIO口进行操作会出现操作失败的问题。

    实施例五:

    图5示出了本发明实施例五提供的Linux的通用输入输出驱动装置的组成
    示意图,为了便于说明,仅示出了与本发明实施例相关的部分,详述如下:

    申请???01,用于根据接收到的GPIO口编号申请与所述GPIO口编号对
    应的GPIO口;

    释放???02,用于当检测到待申请的通用输入输出GPIO口被占用时,释
    放所述GPIO口;

    转换???03,用于在将GPIO口引脚由IOMUX模式设置成GPIO模式之前,
    将所述GPIO口编号转换成所述GPIO口的地址;

    处理???04,用于在释放完成后,将GPIO口引脚由输入输出多路器IOMUX
    模式设置成GPIO模式,并继续申请所述GPIO口,在所述GPIO口申请成功后,
    执行所述GPIO口的操作。

    进一步的,所述处理???04还用于:

    判断释放后的所述GPIO口是否能申请,若否,将GPIO口引脚由IOMUX模
    式设置成GPIO模式。

    进一步的,所述处理???04具体用于:

    根据所述GPIO口的地址调用口API函数,通过所述API函数将GPIO口引
    脚由IOMUX模式设置成GPIO模式。

    进一步的,所述处理???04还用于:

    当所述GPIO口申请不成功时,提示所述GPIO口设置错误。

    本发明实施例提供的Linux的通用输入输出驱动装置可以使用在前述对应
    的方法实施例二中,详情参见上述实施例二的描述,在此不再赘述。

    所述领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述
    各功能??榈幕纸芯倮得?,实际应用中,可以根据需要而将上述功能分
    配由不同的功能??橥瓿?,即所述装置的内部结构划分成不同的功能???,上
    述功能??榧瓤梢圆捎糜布男问绞迪?,也可以采用软件的形式实现。另外,
    各功能??榈木咛迕埔仓皇俏吮阌谙嗷デ?,并不用于限制本申请的?;?br />范围。

    综上所述,本发明实施例当检测到待申请的GPIO口被占用时,释放所述
    GPIO口,在释放完成后,将GPIO口引脚由输入输出多路器IOMUX模式设置成
    GPIO模式,并继续申请所述GPIO口,在所述GPIO口申请成功后,执行所述GPIO
    口的操作,进而使得上层应用程序在操作所述GPIO口时能做强制转换,实现了
    对所述GPIO口成功操作的目的,有效解决了现有技术中当所述GPIO口被占用
    时,对所述GPIO口进行操作会出现操作失败的问题。

    本领域普通技术人员还可以理解,实现上述实施例方法中的全部或部分步
    骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算
    机可读取存储介质中,所述的存储介质,包括ROM/RAM、磁盘、光盘等。

    以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发
    明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明
    的?;し段е?。

    关 键 词:
    一种 LINUX 通用 输入输出 驱动 方法 装置
      专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:一种LINUX的通用输入输出驱动方法和装置.pdf
    链接地址://www.4mum.com.cn/p-6092767.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

    [email protected] 2017-2018 www.4mum.com.cn网站版权所有
    经营许可证编号:粤ICP备17046363号-1 
     


    收起
    展开
  • 四川郎酒股份有限公司获第十二届人民企业社会责任奖年度环保奖 2019-05-13
  • 银保监会新规剑指大企业多头融资和过度融资 2019-05-12
  • 韩国再提4国联合申办世界杯 中国网友无视:我们自己来 2019-05-11
  • 中国人为什么一定要买房? 2019-05-11
  • 十九大精神进校园:风正扬帆当有为 勇做时代弄潮儿 2019-05-10
  • 粽叶飘香幸福邻里——廊坊市举办“我们的节日·端午”主题活动 2019-05-09
  • 太原设禁鸣路段 设备在测试中 2019-05-09
  • 拜耳医药保健有限公司获第十二届人民企业社会责任奖年度企业奖 2019-05-08
  • “港独”没出路!“梁天琦们”该醒醒了 2019-05-07
  • 陈卫平:中国文化内涵包含三方面 文化复兴表现在其中 2019-05-06
  • 人民日报客户端辟谣:“合成军装照”产品请放心使用 2019-05-05
  • 【十九大·理论新视野】为什么要“建设现代化经济体系”?   2019-05-04
  • 聚焦2017年乌鲁木齐市老城区改造提升工程 2019-05-04
  • 【专家谈】上合组织——构建区域命运共同体的有力实践者 2019-05-03
  • 【华商侃车NO.192】 亲!楼市火爆,别忘了买车位啊! 2019-05-03