我有一个RPI 5,我需要做一些GPIO编程.我读到过,在以前的RPI模型和Raspbian OS的早期版本中使用的所有(至少是大部分)GPIO库现在都被弃用了.我被告知,在‘大清洗’中幸存下来的GPIO库被称为libgpiolibgpiod(不确定有什么区别).

我看到了一个posting on the RPi forum,其中一个C示 routine 序据说已经编译成功运行.但是,我不能让这个工作,所以我在这里发帖寻求帮助.

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

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"
      |          ^~~~~~~~~

我在/usr/include/linux/usr/include中找不到lgpio.hlibgpio(d).h.

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头文件,以及应将其安装在何处&amp;这真的是我需要的头文件吗?

推荐答案

Read线在那里.人们提到LG库.

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

If你会有一个使用libgpio的程序,你会适当地对它进行比较.

如何获取lgpio.h头文件

安装提供它的库.

哪里

通常,来自包管理器的标头安装到/usr/include中.手动安装的标头安装在/usr/local/include中.

它应该如何安装?

按照https://github.com/joan2937/lg/tree/master#download--install的安装说明进行操作.

你也可以考虑,instead次使用LG库,重写你的程序使用libgpiod库.

C++相关问答推荐

C如何显示字符串数组中的第一个字母

如何解决C中的严格别名?

Can函数指针指向C++中具有不同参数连续性的函数

Rust FFI--如何用给出返回引用的迭代器包装C风格的迭代器?

在我的代码中,我需要在哪里编写输出函数?

如果dim指定数组中的数据量,使用dim-1会不会潜在地导致丢失一个元素?

N的值设置为0或1(未定义的行为),而我正在try 学习realloc和Malloc的用法

将 struct 传递给函数

每次除以或乘以整数都会得到0.0000

用gcc-msse 2编译的C程序包含AVX 1指令

如何使用唯一数字对整型进行分区

添加函数会 destruct 嵌入式C代码(无IDE)

如何在C++中安全地进行浮点运算

如何使用FSeek和文件流指针在C中查找文件的前一个元素和前一个减go 一个元素

如何将C中的两个字符串与从文件接收的字符串中的字符数进行比较

如何解释数组中的*(ptr)和*(ptr+2)?

C程序printf在getchar while循环后不工作

即使客户端不发送数据,也会发生UNIX套接字读取

使用fread()函数读取txt文件

React Native Android C++ TurboModules 静态 C 库链接问题