__disable_irq();
// Setting timer 1
...
NVIC_SetPriority (TIM1_UP_IRQn, 1);
NVIC_EnableIRQ (TIM1_UP_IRQn);
// do something
...
__enable_irq();
Can Timer 1 interrupt occur after NVIC_EnableIRQ (TIM1_UP_IRQn) is execute.
__disable_irq();
// Setting timer 1
...
NVIC_SetPriority (TIM1_UP_IRQn, 1);
NVIC_EnableIRQ (TIM1_UP_IRQn);
// do something
...
__enable_irq();
Can Timer 1 interrupt occur after NVIC_EnableIRQ (TIM1_UP_IRQn) is execute.
You do not need to use ASM at all. CMSIS is has handy functions.
__disable_irq();
__enable_irq();
NVIC_EnableIRQ (TIM1_UP_IRQn);
Does not enable interrupts only enables particular interrupt source