Получил это отсортировано и извинения, если вопрос не был достаточно ясен. Просто укажите это как FYI.
Базовая настройка GPIO в Linux с использованием / sys / class / gpio:
echo 18> / sys / class / gpio / export
затем
echo "in"> / sys / class / gpio / gpio18 / direction
для ввода в качестве ввода.
Это нормально, но я обнаружил, что при попытке установить значение с помощью
echo 1> / sys / class / gpio / gpio18 / value
Я получил ошибку, упомянутую выше (операция не разрешена).
Таким образом, решение состояло в том, чтобы позволить функциональному приложению настроить вывод и ISR в качестве входа, а затем с помощью тестового приложения перенастроить вывод на выход. .
echo "out"> / sys / class / gpio / gpio18 / direction
Это затем позволяет мне записать в переменную 'value' и вызвать повышениекрайнее прерывание.
В качестве меры предосторожности я перемещаю используемый штырь GPIO для тестирования от функционального штыря, чтобы не перегрузить его в битве против подтягиваний / подтягиванийОтключения внешнего оборудования.
Примечание: я пытался использовать подход / dev / mem mmap, но это не очень хорошо работало, и пару раз срабатывало прерывание, но оно не останавливалось. Если я это выясню, я обновлю.