Ощущение что процессор попадает не в обработчик перывания таймера, а в заглушку какого то дебагера.
Вот исходник:
Код
void TIM2_Handler(void)
{ TIM2->SR &=~ TIM_SR_UIF;
GPIOA->BSRR =GPIO_BSRR_BS3;
GPIOA->BSRR =GPIO_BSRR_BR3;
}
int main(void)
{
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;
GPIOA->CRL &= ~GPIO_CRL_CNF3;
GPIOA->CRL |= GPIO_CRL_MODE3_0;
GPIOA->CRL &= ~GPIO_CRL_CNF2;
GPIOA->CRL |= GPIO_CRL_MODE2_0;
RCC->APB1ENR |= RCC_APB1ENR_TIM2EN;
TIM2->PSC=2;
TIM2->ARR=60;
TIM2->DIER |= TIM_DIER_UIE;
TIM2->CR1 |= (TIM_CR1_CEN | TIM_CR1_ARPE);
NVIC_EnableIRQ (TIM2_IRQn);
TIM2->SR &=~ TIM_SR_UIF;
__enable_irq ();
while(1)
{
GPIOA->BSRR =GPIO_BSRR_BS2
GPIOA->BSRR =GPIO_BSRR_BR2;
}
}
{ TIM2->SR &=~ TIM_SR_UIF;
GPIOA->BSRR =GPIO_BSRR_BS3;
GPIOA->BSRR =GPIO_BSRR_BR3;
}
int main(void)
{
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;
GPIOA->CRL &= ~GPIO_CRL_CNF3;
GPIOA->CRL |= GPIO_CRL_MODE3_0;
GPIOA->CRL &= ~GPIO_CRL_CNF2;
GPIOA->CRL |= GPIO_CRL_MODE2_0;
RCC->APB1ENR |= RCC_APB1ENR_TIM2EN;
TIM2->PSC=2;
TIM2->ARR=60;
TIM2->DIER |= TIM_DIER_UIE;
TIM2->CR1 |= (TIM_CR1_CEN | TIM_CR1_ARPE);
NVIC_EnableIRQ (TIM2_IRQn);
TIM2->SR &=~ TIM_SR_UIF;
__enable_irq ();
while(1)
{
GPIOA->BSRR =GPIO_BSRR_BS2
GPIOA->BSRR =GPIO_BSRR_BR2;
}
}