Сброс прерывания блоков захватов только в 10 кГц
This commit is contained in:
parent
5812e0c8c9
commit
18450f8691
16
Vsrc/main.c
16
Vsrc/main.c
@ -242,11 +242,7 @@ void CAP0_IRQHandler(void)
|
||||
//Засекает время между этим импульсом и предыдущими для расчета интерполятора угла и частоты вращения (скорости)
|
||||
DPReCAP.CAP1Calc(&DPReCAP);
|
||||
|
||||
//Подтверждение прерываний
|
||||
ECAP0->ECCLR_bit.CEVT0 = 1;
|
||||
ECAP0->ECCLR_bit.CEVT1 = 1;
|
||||
ECAP0->ECCLR_bit.INT = 1;
|
||||
|
||||
//Подтверждение прерываний в 10 кГц
|
||||
}
|
||||
|
||||
//!Прерывание, возникающее по событиям захвата модуля CAP1
|
||||
@ -273,10 +269,7 @@ void CAP1_IRQHandler(void)
|
||||
DPReCAP.Angle6Calc(&DPReCAP);
|
||||
DPReCAP.CAP2Calc(&DPReCAP);
|
||||
|
||||
//Подтверждение прерываний
|
||||
ECAP1->ECCLR_bit.CEVT0 = 1;
|
||||
ECAP1->ECCLR_bit.CEVT1 = 1;
|
||||
ECAP1->ECCLR_bit.INT = 1;
|
||||
//Подтверждение прерываний в 10 кГц
|
||||
}
|
||||
|
||||
|
||||
@ -304,10 +297,7 @@ void CAP2_IRQHandler(void)
|
||||
DPReCAP.Angle6Calc(&DPReCAP); //если убрать, то в момент прихода метки на один период ШИМ косяк, так как прерывание посчиталось, а Angle6Calc нет
|
||||
DPReCAP.CAP3Calc(&DPReCAP);
|
||||
|
||||
//Подтверждение прерываний
|
||||
ECAP2->ECCLR_bit.CEVT0 = 1;
|
||||
ECAP2->ECCLR_bit.CEVT1 = 1;
|
||||
ECAP2->ECCLR_bit.INT = 1;
|
||||
//Подтверждение прерываний в 10 кГц
|
||||
}
|
||||
|
||||
//!Прерывание, возникающее по событию реперной метки(индекса) модуля QEP
|
||||
|
Loading…
Reference in New Issue
Block a user