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

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

1、GPIO的硬件引脚GPIO0_B7

    

 

引脚

控制器

端口号

索引号

sysfs计算结果

GPIO0_B7

0

B

7

15= (32 x 0 + 8 x 1 + 7)

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、使用命令行控制

引脚

控制器

端口号

索引号

gpiod的使用结果

GPIO0_B7

0

B

7

0 15(8 x 1 + 7)

  gpiodetect :列出所有的GPIO控制器(sudo gpiodetect)

        

  gpioinfo:列出gpio控制器的引脚情况(sudo gpioinfo 0)

        

  gpioset: 设置gpio(sudo gpioset gpiochip0 15=1)

      

  gpioget: 获取gpio引脚状态(sudo gpioget gpiochip0 15)

       

  gpiomon: 监控gpio的状态(sudo gpiomon 0 15)

      

 

 

 

 

  

 

posted @   zbl1118  阅读(862)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示