====== std.hardware.gpio_ioctl ====== Der **Linux-Weg** über die GPIO-Zeichengeräte ''/dev/gpiochipN'' und die **v2-ioctl-Schnittstelle**. Anders als der MMIO-Zugriff ist er nicht an den Raspberry Pi gebunden, läuft mit gewöhnlichen Gruppenrechten und kann etwas, das MMIO nicht kann: **mehrere Leitungen in einem einzigen Aufruf** setzen oder lesen, und **auf Flanken warten**, ohne zu pollen. Eine angeforderte Leitungsgruppe ist ein Dateideskriptor. Solange er offen ist, gehört die Leitung diesem Prozess — der Kernel verhindert, dass ein zweites Programm dazwischenfunkt, und trägt das Consumer-Label in ''gpioinfo'' ein. Freigegeben wird mit ''GpioReleaseLine''. Maske und Bits bei ''GpioSetLineValues''/''GpioGetLineValues'' beziehen sich auf die **Position innerhalb der angeforderten Gruppe**, nicht auf die Pin-Nummer: Bit 0 ist die erste angeforderte Leitung. [[lyx_-_programmiersprache:units:hardware:gpio|std.hardware.gpio — Übersicht]] · [[lyx_-_programmiersprache:guides:gpio|GPIO-Guide]] · [[lyx_-_programmiersprache:units|Standard Library]] ---- ===== Schnittstelle ===== ^ Signatur ^ | ''GpioGetChipInfo(chip_path: pchar): int64'' | | ''GpioChipInfoFree(info: int64)'' | | ''GpioChipInfoLines(info: int64): int64'' | | ''GpioRequestLines(chip_path: pchar, pins_ptr: int64, num_lines: int64, flags: int64, consumer: pchar): int64'' | | ''GpioSetLineValues(line_fd: int64, mask: int64, bits: int64): int64'' | | ''GpioGetLineValues(line_fd: int64, mask: int64, bits_out: int64): int64'' | | ''GpioReleaseLine(line_fd: int64)'' | ^ Konstante ^ Wert ^ Bedeutung ^ | ''GPIO_MAX_NAME_SIZE'' | ''32'' | – | | ''GPIO_V2_LINES_MAX'' | ''64'' | – | | ''GPIO_V2_LINE_NUM_ATTRS_MAX'' | ''10'' | – | | ''GPIO_V2_LINE_FLAG_USED'' | ''1'' | Bit 0 | | ''GPIO_V2_LINE_FLAG_ACTIVE_LOW'' | ''2'' | Bit 1 | | ''GPIO_V2_LINE_FLAG_INPUT'' | ''4'' | Bit 2 | | ''GPIO_V2_LINE_FLAG_OUTPUT'' | ''8'' | Bit 3 | | ''GPIO_V2_LINE_FLAG_EDGE_RISING'' | ''16'' | Bit 4 | | ''GPIO_V2_LINE_FLAG_EDGE_FALLING'' | ''32'' | Bit 5 | | ''GPIO_V2_LINE_FLAG_OPEN_DRAIN'' | ''64'' | Bit 6 | | ''GPIO_V2_LINE_FLAG_OPEN_SOURCE'' | ''128'' | Bit 7 | | ''GPIO_V2_LINE_FLAG_BIAS_PULL_UP'' | ''256'' | Bit 8 | | ''GPIO_V2_LINE_FLAG_BIAS_PULL_DOWN'' | ''512'' | Bit 9 | | ''GPIO_V2_LINE_FLAG_BIAS_DISABLED'' | ''1024'' | Bit 10 | …sowie 33 weitere Konstanten in der Quelldatei ''std/hardware/gpio_ioctl.lyx''. Quelle: ''std/hardware/gpio_ioctl.lyx'' · geprüft mit ''lyxc 1.0.21A'' · Stand 2026-08-12 ---- Letzte Aktualisierung: 2026-08-16 (Dateistand)