STM32F437II.
Столкнулся с проблемой, которая по началу и не предполагалась. Прошу отнестись серьёзно, хоть она связана с простым чтением цифровогоо порта.
Есть мех. селектор (переключатель), который подключается к выводам порта G.
Ползунок этого переключателя заземлён, выводы переключательной группы подключены к выводам микроконтроллера, которые сконфигурированы на pull UP.
Переключаю, определяю, что на выводе (входе порта) логический ноль, выполняю свои действия.
Задачка казалась бы тривиальная. Практически всё работает, кроме вывода PG11.
Но! Не тут то было. Не смог понять в чём проблема.
Теперь описание схемы.
Выводы селектора подключены к выводам порта G. Опрашиваю состояние порта G.
Если переключатель в положении, когда PG11 в нуле, программа вылетает.
Для других выводов такой проблемы нет. Конфигурация выводов идеинтичная.
Ошибок в логике не может быть.
Ненормальность проявляется также и в том, что после работы платы с подключенным переключателем, программа микроконтроллера не стартует после включения питания. Помогает только принудительный ресет.
Если же не подключать переключатель, то программы на новых (девственных) платах нормально стартуют.
Если отсоединить переключатель от плат, на которых был подключен переключатель при прошивке, то программа также не стартует.
В errata информации по этой проблеме не нашёл.
Заранее спасибо за рекомендации.