STM32F411 - Timer interrupt not firing
I do not know much about coding.. but I cannot see the place where you are enabling the interrupts..

The interrupt for timer TIM3 can be enabled by adding the following line to the timer setup function:

NVIC_EnableIRQ(TIM3_IRQn);