Николай Коровин (10.02.2016 14:56, просмотров: 206) ответил VL на Три сигнала одного GPIO вызывают перерывание. Анализ состояния выводов с запоминанием есть, но прерывания теряется уж очень часто. Общие рекомендации есть? Для теста подаю один сигнал на все входы.
Не совсем понял вопрос, отвечу на то, как понял %) Сделать одно прерывание на любое изменение любого входа.
Обработчик:
1) Сравнить состояние входов с последним.
2) Если нет различий → завершить. //сейчас узнаете, зачем это нужно
3) Последнее = прочитанное в п. 1.
4) Отреагировать сообразно разнице из п. 1. Возможно, какая-то групповая реакция на изменение многих входов будет считаться быстрее.
5) Вернуться в п. 1 на случай, если за это время что-то новое изменилось и, соответственно, мимо нас прошло.
То есть, один раз попав в прерывание из-за любого изменения любого входа, оно будет там крутиться, пока входы не перестанут меняться. Скорость обработки — очевидно, выше головы не прыгнешь, изменения, идущие чаще, чем можно обработать физически — пропадут. Как вариант — свести п. 4 к постановке события в очередь, а умясиусить все потом.