Здравствуйте! Пытаюсь настроить таймер чтобы мигать светодиодом 1 раз в секунду . Сейчас стоит макс делитель PSC=0xFFFF, диод включается, но горит тускло...т.е по сути мигает с большой частотой. Что делаю не так?
CODE
#include "stm32f10x.h"
#include "stm32f10x_usart.h"
#include "stm32f10x_rcc.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_conf.h"
#include "stdio.h"
#include "delay.h"
void TIM2_IRQHandler(void);
char i=0;
int main( void)
{
RCC->APB2ENR |= RCC_APB2ENR_IOPBEN;
RCC->APB1ENR |= RCC_APB1ENR_TIM2EN;
TIM2->PSC = TIM_PSC_PSC;
TIM2->ARR = TIM_ARR_ARR;
TIM2->CR1 |= TIM_CR1_URS;
TIM2->CR1 |= TIM_CR1_CEN | TIM_CR1_ARPE;
TIM2->DIER |= TIM_DIER_UIE ;
GPIOB->CRL &= ~(GPIO_CRL_MODE5 | GPIO_CRL_CNF5);
GPIOB->CRL |= GPIO_CRL_MODE5_0;
NVIC_SetPriority(TIM2_IRQn,15);
NVIC_EnableIRQ(TIM2_IRQn);
while(1)
{}
}
//------------------------------------------------------------------------------
void TIM2_IRQHandler(void)
{
if(i)
{
GPIOB->BSRR = GPIO_BSRR_BS5;
i=0;
}
else
{
GPIOB->BSRR = GPIO_BSRR_BR5;
i=1;
}
}
//------------------------------------------------------------------------------