APB1 = 48 000 000 Hz
Таймер тактируется APB1 / PSC -› 48 000 000 Hz / 1000 = 48 000 Hz
Прерывания = 48 000 Hz / ARR -› 48 000 Hz / 50 = ~ 1000 Hz или 1mS.
Итого прерывания = APB1/PSC/ARR ...
Чет как то не пошло, подключил анализатор..... В 10мкс 16 сработок происходит..... ?????
TimerInit2(uint16_t time)
{
RCC-›APB1ENR |= RCC_APB1ENR_TIM2EN;
TIM2-›ARR = 4800 - 1;
TIM2-›PSC = (10 - 1)*time;
//TIM2-›ARR = 1000 - 1;//Таймер тактируется APB1 / PSC -› 48 000 000 Hz / 1000 = 48 000 Hz
//TIM2-›PSC = 50 - 1;//Прерывания = 48 000 Hz / ARR -› 48 000 Hz / 50 = ~ 1000 Hz или 1mS.
TIM2-›CR1 |= TIM_CR1_CEN | TIM_CR1_ARPE;
TIM2-›DIER |= TIM_DIER_UIE;
NVIC_SetPriority(TIM2_IRQn, 5);
NVIC_EnableIRQ(TIM2_IRQn);
}
Так такая же петрушка....