鞍山 网站建设,濮阳团购网站建设,wordpress摘要两端对齐,那里建站好authordaisy.skye的博客_CSDN博客-Qt,嵌入式,Linux领域博主系列基于RK3568的Linux驱动开发—— GPIO知识点#xff08;二#xff09;_daisy.skye的博客-CSDN博客 gpio bank RK3568 有 5 组 GPIO bank#xff1a;GPIO0~GPIO4#xff0c;每组又以 A0-A7、B0-B7、 C0-C7、 D0… authordaisy.skye的博客_CSDN博客-Qt,嵌入式,Linux领域博主系列基于RK3568的Linux驱动开发—— GPIO知识点二_daisy.skye的博客-CSDN博客 gpio bank RK3568 有 5 组 GPIO bankGPIO0~GPIO4每组又以 A0-A7、B0-B7、 C0-C7、 D0-D7 作为编号区分常用以下公式计算引脚 GPIO 引脚计算公式pin bank * 32 number GPIO 小组编号计算公式number group * 8 X 下面演示 GPIO3_A7 引脚计算方法 bank 3; // GPIO3_A7 3, bank ∈ [0,4] group 0; // GPIO3_A7 0, group ∈ {(A0), (B1), (C2), (D3)} X 7; // GPIO3_A7 5, X ∈ [0,7] GPIO3_A7 对应的设备树属性描述为gpio3 7 IRQ_TYPE_EDGE_RISING由kernel/include/dt-bindings/pinctrl/rockchip.h的宏定义可知也可以将GPIO4_D5描述为gpio3 RK_PA7 IRQ_TYPE_EDGE_RISING。 gpiochipX 当前SOC 一共包含5 个 GPIO 控制器分别是GPIO1,GPIO2,GPIO3,GPIO4,GPIO5。在这里分别是gpiochip0 、gpiochip32 、gpiochip64 、gpiochip96 、gpiochip128 这5个文件夹每个gpiochipX 文件夹用来管理一组GPIO。 export export用于将指定编号的GPIO 引脚导出。在使用GPIO 引脚之前需要将其导出导出成功之后才能使用它。注意export 文件是只写文件不能读取将一个指定的编号写入到export 文件中即可将对应的GPIO 引脚导出例如 echo 0 export #导出编号为0的GPIO 引脚。对应当前SOC也就是GPIO1_IO0。 导出成功之后会发现在/sys/class/gpio 目录下生成了一个名为gpio0 的文件夹gpioX, X 表示对应的编号。这个文件夹就是导出来的GPIO 引脚对应的文件夹用于管理、控制该GPIO 引脚。 unexport unexport将导出的GPIO 引脚删除。当使用完GPIO 引脚之后我们需要将导出的引脚删除同样该文件也是只写、不可读的。例如 echo 0 unexport # 删除导出的编号为0的GPIO 引脚1 删除成功之后之前生产的gpio0 文件夹就会消失。 导出引脚echo export 向/sys/class/gpio/export写入此编号比如10号引脚在shell中可以通过以下命令实现 echo 10 /sys/class/gpio/export 命令成功后生成/sys/class/gpio/gpio10目录 如果没有出现相应的目录说明此引脚不可导出 设置gpio的direction direction文件定义输入输入方向可以通过下面命令定义为输出 echo out /sys/class/gpio/gpio10/direction direction接受的参数in, out, 参考链接 Linux 学习笔记GPIO 应用编程_gpiochip0_gdut_llkkyy的博客-CSDN博客