linux编程--GPIO的使用

主要文件路径在:/sys/class/gpio

该文件下有两个文件 export、unexport 以及 5 个 gpiochipX(X 等于 0、32、64、96、128) 命名的文件夹。

每一个 gpiochipX 文件夹用来管理一组 GPIO。 随便进入到其中某个目录下,可以看到这些目录下包含了如下文件:计算引脚在系统中 的编号,如GPIO4_IO16,它是第四组,最小编号是96,GPIO4_IO16 对应的编号自然是 96 + 16 = 112

export:用于将指定编号的 GPIO 引脚导出。如向里面写0就是导出0号引脚的文件夹。用于管理、控制该 GPIO 引 脚。在使用前可以通过access(路径,F_OK)函数判断目录是否存在。

unexport:将导出的 GPIO 引脚删除。当使用完 GPIO 引脚之后,我们需要将导出的引脚删除,同 样该文件也是只写文件、不可读,

在通过export导出的gpiox文件中,主要关注的有active_low、direction、edge 以及 value 这四个属性文件。

direction:配置 GPIO 引脚为输入或输出模式。该文件可读、可写,读表示查看 GPIO 当前是输入 还是输出模式,写表示将 GPIO 配置为输入或输出模式;读取或写入操作可取的值为"out"(输出模 式)和"in"(输入模式)

value:在 GPIO 配置为输出模式下,向 value 文件写入"0"控制 GPIO 引脚输出低电平,写入"1"则 控制 GPIO 引脚输出高电平。在输入模式下,读取 value 文件获取 GPIO 引脚当前的输入电平状态。

active_low:这个属性文件用于控制极性,可读可写,默认情况下为 0,譬如:

edge:控制中断的触发模式,该文件可读可写。在配置 GPIO 引脚的中断触发模式之前,需将其设 置为输入模式: 非中断引脚:echo "none" > edge 上升沿触发:echo "rising" > edge 下降沿触发:echo "falling" > edge 边沿触发:echo "both" > edge 当引脚被配置为中断后可以使用 poll()函数监听引脚的电平状态变化,

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PWM-GPIO驱动程序是Linux内核中的一个驱动模块,用于控制嵌入式系统中的GPIO引脚产生PWM信号。该驱动程序允许开发人员通过编程的方式来控制GPIO引脚的电平变化,从而产生不同占空比的PWM信号。 在Linux内核中,PWM-GPIO驱动程序通过向用户空间提供了相应的接口来实现PWM信号的控制。开发人员可以通过打开相应的设备节点,并使用相应的系统调用函数来设置PWM的频率、占空比等参数,从而实现对GPIO引脚的PWM信号的控制。 驱动程序的核心部分是一个PWM子系统,它与GPIO子系统紧密集成。PWM子系统负责管理PWM信号的生成和控制,而GPIO子系统负责管理GPIO引脚的配置和操作。PWM-GPIO驱动程序在这两个子系统之间起着桥梁的作用。 PWM-GPIO驱动程序的实现方式与硬件平台相关,每个平台可能有不同的具体实现。在驱动程序的初始化过程中,必须先配置GPIO引脚的功能为PWM模式,并将相应的寄存器映射到内核中,以便能够通过对寄存器的操作来控制GPIO引脚。驱动程序还需要初始化PWM子系统,为每个GPIO引脚分配相应的PWM通道,并根据需求设置PWM的频率、占空比等参数。 通过PWM-GPIO驱动程序,开发人员可以方便地利用Linux内核的功能来实现对嵌入式系统中GPIO引脚产生PWM信号的控制。这为开发PWM驱动、控制舵机、LED等应用提供了便捷的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值