С самого начала я хотел бы заявить, что я знаю о Python и других реализациях высокого уровня для манипулирования GPIO на малиновом PI. Я также использовал API WiringPI C и испытываю проблемы с ним на Raspbian Jessie, что у меня не было на Raspbian Wheezy, хотя я не изменил ни одной строки кода. Кроме того, разработчик WiringPI C API говорит, что у него нет немедленных планов поддержать Raspbian Jessie, поэтому я вроде как ручей без весла.Raspberry PI, GPIO Pull UP/DOWN резисторы с SYSFS
По этой причине я читал следующий учебник (среди других) о доступе к Raspberry PI GPIOs с помощью sysfs, так как это, кажется, один из способов решения GPIO без использования WiringPI и без написания собственной библиотеки GPIO:
http://www.hertaville.com/introduction-to-accessing-the-raspberry-pis-gpio-in-c.html
Согласно этой обучающей программе, чтобы установить GPIO17 в качестве входных данных, вы пишете строку 'в' для дескриптора файла:
/SYS/класс/GPIO/GPIO/17/направление
... и затем я могу читать входные значения GPIO из:
/SYS/класс/GPIO/gpio17/Значение
Это все хорошо и хорошо, но у меня нет возможности устанавливать подтягивающие резисторы на мои монтажные платы. Можно ли установить встроенные подтягивающие и выталкивающие резисторы Raspberry PI, используя sysfs?
Кроме того, если установка нагрузочный и раскрывающиеся резисторы через sysfs не возможно я, полагая, что даже в самом последнем Raspbian Jessie единственный другой способ сделать это написать непосредственно в регистры GPIO? то есть даже в Raspbian Jessie нет официального C API для программирования GPIO?
Вы загружаете linux с файлом dts? если это так, вы можете отредактировать, чтобы включить/выключить подтягивающие резисторы – fghj
См. http://stackoverflow.com/questions/34058936/intel-chipset-gpio-programming/34080355#34080355 Подтягивание/сбой контролируется подсистемой pinctrl, а не подсистему GPIO. – sawdust