从JetPack 6 开始,Nvidia删除了/sys/class/gpio这种方法来控制GPIO。现在用全新的方式来控制GPIO。

需要安装的软件

1.安装 busybox,以及automake等工具 

sudo apt-get install busybox
sudo apt-get install automake autoconf libtool

2.安装libgpiod

    a.从GitHub下载libgpiod

    b.安装libgpiod

sudo ./autogen.sh
sudo make
sudo make install

    c.设置环境变量

echo "export LD_LIBRARY_PATH=/home/amov/libgpiod-master/lib/.libs:\$LD_LIBRARY_PATH" >> ~/.bashrc
source ~/.bashrc

    d.验证看看版本 

gpioinfo --version

改变GPIO的方向

    比如  PQ.06(40HDR中的一个PING)

    查表 PQ.06 的寄存器的地址为0x2430070

    我们要将PQ.06设置成输出模式

    首先查看PQ.06中的值

sudo busybox devmem 0x2430070

    然后写入PQ.06   0x004 将它的方向改成输出模式

sudo busybox devmem 0x2430070 w 0x004

改变GPIO的电平

    保持高电平

gpioset PQ.06=1

    保持低电平

gpioset PQ.06=0

    以1HZ的频率改变电平

gpioset -t500ms PQ.06=1

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐