Надо выполнить следующее:
разрешить тактирование AFIO В APB2ENR
настроить GPIO на цифровой вход
выбрать порт и линию прерывания в AFIO_EXTICR
сконифигурировать региcтры EXTI:
Interrupt mask register (EXTI_IMR)
Rising trigger selection register (EXTI_RTSR)
Falling trigger selection register (EXTI_FTSR)
Включить канал EXTI в NVIC.
Для VLDISCOVERY есть архив с CMSIS и примерами кода на сайте ST.
а можете пояснить что значат эти регистры и как формируются?
Rising trigger selection register (EXTI_RTSR)
Falling trigger selection register (EXTI_FTSR)
Это триггеры по возрастающему (rising) и спадающему (falling) фронту. То есть, можно настроить прерывание по возрастающему фронту, спадающему фронту или сразу по обоим фронтам. В этих регистрах нужно записать 1 в определённый бит TR (в зависимости от ножки на которой прерывание). Подробное описание регистров есть в референс мануале (Reference Manual).