如何使用libgpio(d)为Raspberry Pi编译C程序?

问题描述 投票:0回答:1

我有一个 RPi 5,我需要进行一些 GPIO 编程。我读到过,以前的 RPi 型号以及早期版本的 Raspbian OS 中使用的所有(大多数)GPIO 库现在均已弃用。我听说在“大淘汰”中幸存下来的 GPIO 库被称为

libgpio
libgpiod
(不确定有什么区别)。

我在RPi论坛上看到一个帖子,其中有一个C语言的示例程序据说已经编译并成功运行。但是,我无法让它工作,所以我在这里发帖寻求帮助。

我的 C 编程技能几乎不存在,但如果我坚持不懈,我通常会设法让一些东西发挥作用。这是我尝试过的:

sudo update
sudo apt install gpiod libgpiod-dev libgpiod-doc 

cd blinky_c                      # blinky.c is in blinky_c
gcc -o blinky -libgpiod blinky.c
blinky.c:3:10: fatal error: lgpio.h: No such file or directory
    3 | #include "lgpio.h"
      |          ^~~~~~~~~

我在

lgpio.h
libgpio(d).h
中都找不到
/usr/include/linux
/usr/include

blinky.c

#include <stdio.h>
#include <stdlib.h>
#include "lgpio.h"

int h,i;

int main(void) {
h = lgGpiochipOpen(4);
lgGpioClaimOutput(h,0,17,0);
while(1)
{
lgGpioWrite(h,17,0);
lguSleep(1);
lgGpioWrite(h,17,1);
lguSleep(1);
}
return EXIT_SUCCESS;
}

如何获取

lgpio.h
头文件,以及应该在哪里以及如何安装它?这实际上是我需要的头文件吗?

c raspberry-pi shared-libraries gpio
1个回答
0
投票

查看库的源代码,唯一的 .h 文件是

gpiod.h
。这应该已经安装到/usr/include/gpiod.h,所以你应该能够通过

访问它
#include <gpiod.h>

如有疑问,请在终端上运行

whereis file.h
,只要文件安装正确,您就会找到它。

© www.soinside.com 2019 - 2024. All rights reserved.