| | |
| | | * |
| | | */ |
| | | #include "pwm.h" |
| | | #include "bldc_ctrl.h" |
| | | static volatile uint32_t timer_outcnt = 0; |
| | | /***************************************************************************************************** |
| | | Timer2 is used to speed cal |
| | |
| | | |
| | | timer_deinit(TIMER2); |
| | | |
| | | timercontralcfg.prescaler = 4799; //48Mhz /4800 =0.01Mhz = 100us |
| | | timercontralcfg.prescaler = TIMER2_PERIOD; //64Mhz /64 =1Mhz = 1us |
| | | timercontralcfg.alignedmode = TIMER_COUNTER_EDGE; |
| | | timercontralcfg.counterdirection = TIMER_COUNTER_UP; |
| | | timercontralcfg.period = PERIOD_CAP; //100us*10000=1s |
| | | timercontralcfg.period = PERIOD_CAP; //1us*30000=30ms |
| | | |
| | | timer_init(TIMER2, &timercontralcfg); |
| | | timer_interrupt_flag_clear(TIMER2, TIMER_INT_UP); |
| | |
| | | } |
| | | extern void TIMER2_IRQHandler_CallBack(void) |
| | | { |
| | | timer_outcnt++; |
| | | if (++timer_outcnt > SPEED_TIMEOUT) |
| | | { |
| | | //to do |
| | | set_bldcm_disable(); |
| | | } |
| | | } |
| | | |
| | | extern uint32_t GetSpeedTimerOutcnt(void) |