2014-09-30 5 views
2

У меня есть устройство Android 4.4.2, у которого есть разъем UART для дополнительных модулей. GPIO также является частью этого разъема, который может быть дополнительно использован дополнительным модулем для отправки сигнала на мое устройство Android. это прерывание будет обработано приложением Android.Передача прерывания gpio на приложение android

Ниже приведены несколько способов, которыми я мог бы добиться этого с, но не чувствуют его правильный способ сделать хотя,

  1. прерывания GPIO передаются андроид приложения в качестве входного ключа с помощью input_report_key()

  2. Реализована функция poll() для/sys/class/gpio/gpiox.

Но ни один из вышеперечисленных, кажется, правильных методов для меня, Может кто-нибудь помочь мне узнать, есть ли какие-либо способы для передачи GPIO прерываний андроида приложения?

+0

со вторым методом, использующим опрос(), я заметил, что некоторые из прерываний пропущены .. есть ли способ, которым это можно преодолеть? – Duster2503

+1

Я бы поставил щедрость на этот вопрос, если бы у меня было больше репутации! – ForeverLearning

ответ

0

Спасибо за все ваши входы,

Я был на самом деле ищет лучший способ, который я мог бы передать kernel levelGPIO interrupt к android layer (или приложение).

я реализовал в ниже способом,

  • экспортируется.Здесь GPIO в ядре.
  • Опрос в HAL.
  • HAL Вызывает метод фреймворка (был зарегистрирован в init)
  • Метод обратного вызова Framework передает намерение конечному приложению.

Не используйте second method (input_report_key()), поскольку она использует input event framework, который я чувствовал себя не правильный способ делать.

+0

Я предполагаю, что вы используете функцию poll() для опроса прерываний в HAL. Но выходит ли ваш опрос() на прерывание, когда телефон переходит в режим ожидания? – Duster2503

Смежные вопросы