🛠 Faire clignoter une LED en C avec libgpiod sur Le Potato

Placas Libre Computer Amlogic — libre-amlogic (buque insignia: Le Potato AML-S905X-CC) · debutant · Schéma : IMG-libre-amlogic-debutant-1-libre-amlogic-debutant-clignotement-led-c.svg — Le Potato AML-S905X-CC, broche 3 du connecteur 40 broches (GPIOAO_5) vers LED et résistance 330 Ω puis masse.

Objetivos

Hacer parpadear un LED en el conector de 40 pines del Le Potato (AML-S905X-CC) en C con libgpiod, la interfaz oficialmente recomendada por Libre Computer — no hay wiringPi en esta tarjeta y el fabricante se niega a portarlo.

Material

Código completo

/* blink.c — gcc blink.c -o blink -lgpiod (paquet libgpiod-dev) */
#include <gpiod.h>
#include <stdio.h>
#include <unistd.h>
int main(void) {
    struct gpiod_chip *chip = gpiod_chip_open_by_number(0);
    if (!chip) { perror("gpiochip0"); return 1; }
    struct gpiod_line *line = gpiod_chip_get_line(chip, 5); /* broche 3 */
    if (!line || gpiod_line_request_output(line, "blink", 0)) {
        perror("request"); return 1;
    }
    for (int i = 0; i < 10; i++) {
        gpiod_line_set_value(line, i & 1);
        usleep(200000);
    }
    gpiod_line_release(line);
    gpiod_chip_close(chip);
    return 0;
}

Verificación esperada

./blink hace parpadear el LED 10 veces a 5 Hz. Durante la ejecución, gpioinfo gpiochip0 muestra la línea 5 (denominada « 7J1 Header Pin3 » en el device tree) como solicitada por el consumidor « blink ».

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales