USB/TTL(dev/ttyUSB_)と対応するGPIOピン(/dev/gpiochip_)の関係を見つける方法

USB/TTL(dev/ttyUSB_)と対応するGPIOピン(/dev/gpiochip_)の関係を見つける方法

4つのGPIOラインを備えたCP2102NベースのUSB / TTLアダプタがあります。

を介してシリアルデバイスのいずれかを開くことができ、関連するGPIOラインは次のように/dev/ttyUSB0制御されます。libgpiod/dev/gpiochip1

常に正しいデバイスを変更していることを確認する/dev/ttyUSB0必要/dev/gpiochip1があります。/dev/gpiochip1/dev/ttyUSB0

どうすればいいですか?私はlibgpiodこれをするのを見ませんでした。

答え1

両方のパスが同じコントローラとUSBデバイスコンポーネントを持っているかどうかを確認およびreadlink /sys/class/gpio/gpiochip1/または確認できます。readlink /sys/class/tty/ttyUSB0

たとえば、次のようなメッセージが表示されます。

# readlink /sys/class/gpio/gpiochip1
../../devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/gpio/gpiochip1
# readlink /sys/class/tty/ttyUSB0
../../devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/ttyUSB0/tty/ttyUSB0
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The same PCI USB controller and USB device path!

そうすれば、ttyUSB0 == gpiochip1であることがわかります。

関連情報