立创泰山派学习03--GPIO的控制

zbl1118 / 2024-03-19 / 原文

一、使用GPIO sysfs 接口控制IO(操作/sys/class/gpio目录下的exprot、unexport、gpio[NUM]/direction、gpio[NUM]/value来实现GPIO控制)

1、GPIO的硬件引脚GPIO0_B7

    

 

2、将GPIO0_B7引脚(0*32+1*8+7=15)导出,便于访问和控制

  echo 15 > /sys/class/gpio/export

    

 3、将GPIO0_B7引脚的方向设置为输出模式,该引脚配置为输出模式

  echo out > /sys/class/gpio/gpio15/direction

     

4、读取该GPIO0_B7引脚的输出电平

  cat /sys/class/gpio/gpio15/value

    

 5、设置该GPIO0_B7引脚的输出电平为高

  echo  1 > /sys/class/gpio/gpio15/value, # 1为高电平,0为低电平

    

6、将GPIO0_B7引脚解除导出,释放对该引脚15的控制

  echo 15 > /sys/class/gpio/unexport

    

 

 二、使用libgpiod控制IO

1、安装libgpiod库、gpiod命令行工具

  sudo apt install libgpiod-dev

  sudo apt install gpiod

2、使用命令行控制

  gpiodetect :列出所有的GPIO控制器

        

  gpioinfo:列出gpio控制器的引脚情况

        

  gpioset: 设置gpio

      

  gpioget: 获取gpio引脚状态

       

  gpiomon: 监控gpio的状态