Вы можете перенаправить таймер, чтобы получить другую линию запуска от GPIO к контроллеру прерываний. NVI C:
Найти связанную с таймером альтернативную функцию на одном из контактов (может быть TIM x _ETR, TIM x _CH1 или TIM x _CH2 для любого свободного "TIM x ", но не TIM x _CH3 или TIM x _CH4, насколько я вижу).
Настройте TIM x для использования ETR или соответствующего канала, связанного с вашим выводом, в качестве входа внешнего запуска, и переполниться при первом событии (PSC = ARR = RCR = 0). Тогда вы будете получать прерывание каждый раз, когда этот вывод меняется.
Вы можете дополнительно расширить этот дизайн, выбрав полярность по бокам и активировав фильтрацию шума в соответствии с вашими потребностями.