Sebagian besar perpustakaan, dalam beberapa bahasa, berinteraksi dengan GPIO pin melalui /sys/class/gpio/export
, /sys/class/gpio/import
, /sys/class/gpio/gpio10/value
, dll Namun linux kernel docs jelas negara itu adalah cara warisan melakukan sesuatu.
Apa cara non-warisan dalam melakukan sesuatu?
Jika saya mengerti benar dalam ruang kernel saya akan menggunakan fungsi-fungsi ini atau driver kernel standar untuk tugas-tugas GPIO umum.
Apa yang akan saya gunakan untuk ruang pengguna? Apakah ada antarmuka Sysfs untuk non legacy?
PS: Saya tahu dokumen kernel menyatakan bahwa antarmuka berbasis integer lama meskipun dianggap usang masih dapat digunakan untuk alasan kompatibilitas. Namun saya tidak tertarik menggunakan kode warisan itu.
/sys/class/gpio/export
mereka mengakses perangkat keras secara langsung, meskipun mereka BISA menggunakan layanan kernel. Pigpiod WiringPi dan AFAIK tentu saja langsung mengakses register SoC.Jawaban:
sysfs
telah usang dan telah diganti denganlibgpiod
.https://www.beyondlogic.org/an-introduction-to-chardev-gpio-and-libgpiod-on-the-raspberry-pi/
Interaksi dengan
/dev/gpiochipx
bukan/sys/class/gpio
.Satu-satunya perbaikan yang jelas (bagi saya) adalah bahwa acara GPIO sekarang memiliki cap waktu.
sumber