立创泰山派学习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)


浙公网安备 33010602011771号