Я создаю новое приложение с использованием Beaglebone Black. Мне нужно настроить GPIO для различных функций. У меня будут некоторые GPIO, некоторые PWM и, возможно, некоторые другие функции.Каковы плюсы/минусы различных способов настройки GPIO на Beaglebone Black?
Я отмечаю, что есть разные способы сделать это. Они находятся в порядке предпочтения:
- можно писать код, используя Adafruit's Python library сказать «установить этот штифт вверх как PWM» и так далее;
- Я могу сделать same in Javascript;
- Я могу создать и скомпилировать исходный файл оверлей дерева устройств (.dts) и использовать его;
- Я мог бы сделать сценарий bash и echo 'out' и 'in' и т. Д. Для различных определений устройств в файловой системе;
- Я предполагаю, что есть API C, хотя я бы не использовал его для этого приложения.
Моей большой потребностью здесь является тиражируемость. Мне не нужна высокая производительность. Мне просто нужно настроить связку Beaglebone Blacks таким же образом и заставить их вести себя надежно.
Есть ли какое-то преимущество, которое я не вижу, чтобы сделать наложение на дерево устройства и все такое? Когда кто-то выбирает один метод над другим?
Я думаю, что библиотека Adafruit обрабатывает pinmuxing. Я пробовал пару базовых операций, используя PWM и GPIO, и, казалось, работал нормально, без дополнительной работы. Мне не нужно было накладывать наложения. –