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