STM32 interrupt does not fire
Do the steps from my comment, Here is the sample code. I had a different hardware connections so I used a different pins.

int main(void) {
    RCC-&gt;APB2ENR = RCC_APB2ENR_IOPBEN | RCC_APB2ENR_IOPCEN | RCC_APB2ENR_AFIOEN;


    //confure PB2  PC13 as inputs, PB0 output

    AFIO-&gt;EXTICR[0] = AFIO_EXTICR1_EXTI2_PB;
    AFIO-&gt;EXTICR[3] = AFIO_EXTICR4_EXTI13_PC;
    EXTI-&gt;IMR = EXTI_IMR_MR2 | EXTI_IMR_MR13;
    EXTI-&gt;RTSR = EXTI_RTSR_TR2;
    EXTI-&gt;FTSR = EXTI_FTSR_TR13;
    NVIC_EnableIRQ(EXTI2_IRQn);
    NVIC_EnableIRQ(EXTI15_10_IRQn);
    while (1);
} 
void EXTI2_IRQHandler(void) {
    if (EXTI-&gt;PR &amp; EXTI_PR_PR2) {
        EXTI-&gt;PR = EXTI_PR_PR2;
        GPIOB -&gt; ODR |= GPIO_ODR_0;
    }
}

void EXTI15_10_IRQHandler(void) {
    if (EXTI-&gt;PR &amp; EXTI_PR_PR13) {
        EXTI-&gt;PR = EXTI_PR_PR13;
        GPIOB -&gt; ODR &amp;= ~GPIO_ODR_0;            
    }
}


one pin turns led on another turns off