Сброс прерывания блоков захватов только в 10 кГц

This commit is contained in:
Dmitry Shpak 2020-12-25 15:37:12 +03:00
parent 5812e0c8c9
commit 18450f8691

View File

@ -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