через дефайн убран поток приложения мк
This commit is contained in:
@@ -40,7 +40,6 @@ void TIM_Simulation(TIM_TypeDef *TIMx, struct TIM_Sim *TIMS)
|
||||
Channels_Simulation(TIMx, TIMS); // CaptureCompare and PWM channels simulation
|
||||
break;
|
||||
|
||||
|
||||
// включение слейв таймера по ивенту
|
||||
case(TIM_SLAVEMODE_TRIGGER): // SLAVE MODE: TRIGGER MODE
|
||||
Slave_Mode_Check_Source(TIMx, TIMS);
|
||||
@@ -83,17 +82,34 @@ void Overflow_Check(TIM_TypeDef* TIMx, struct TIM_Sim* TIMS)
|
||||
if ((TIMx->CR1 & TIM_CR1_UDIS) == 0) // UPDATE enable
|
||||
{
|
||||
if ((TIMx->CR1 & TIM_CR1_ARPE) == 0) TIMS->RELOAD = TIMx->ARR; // PRELOAD disable - update ARR every itteration
|
||||
|
||||
if (TIMS->tx_cnt > TIMS->RELOAD || TIMS->tx_cnt < 0) // OVERFLOW
|
||||
{
|
||||
TIMS->RELOAD = TIMx->ARR; // RELOAD ARR
|
||||
|
||||
if (TIMS->tx_cnt > TIMx->ARR) // reset COUNTER
|
||||
TIMS->tx_cnt = 0;
|
||||
else if (TIMS->tx_cnt < 0)
|
||||
TIMS->tx_cnt = TIMx->ARR;
|
||||
switch (TIMx->CR1 & TIM_CR1_CMS)
|
||||
{
|
||||
case TIM_COUNTERMODE_CENTERALIGNED1:
|
||||
case TIM_COUNTERMODE_CENTERALIGNED2:
|
||||
case TIM_COUNTERMODE_CENTERALIGNED3:
|
||||
TIMx->CR1 ^= TIM_CR1_DIR;
|
||||
|
||||
if(TIMx->DIER & TIM_DIER_UIE) // if update interrupt enable
|
||||
call_IRQHandller(TIMx); // call HANDLER
|
||||
if (TIMx->DIER & TIM_DIER_UIE) // if update interrupt enable
|
||||
call_IRQHandller(TIMx); // call HANDLER
|
||||
break;
|
||||
|
||||
// default counting
|
||||
default:
|
||||
TIMS->RELOAD = TIMx->ARR; // RELOAD ARR
|
||||
|
||||
if (TIMS->tx_cnt > TIMx->ARR) // reset COUNTER
|
||||
TIMS->tx_cnt = 0;
|
||||
else if (TIMS->tx_cnt < 0)
|
||||
TIMS->tx_cnt = TIMx->ARR;
|
||||
|
||||
if (TIMx->DIER & TIM_DIER_UIE) // if update interrupt enable
|
||||
call_IRQHandller(TIMx); // call HANDLER
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user