#ifndef _PWM_H_ #define _PWM_H_ #include "gd32e23x_timer.h" //1us * 30000 = 30ms #define PERIOD_CAP (30000U) #define SPEED_TIMEOUT (300U) //9S //64Mzhz / 3200 = 20Khz = 50us #define PERIOD_CMP (3200u) #define TIMER2_PERIOD (63U) void TimerInit(void); void SetPwmDuty(uint16_t ch, uint32_t duty); void SetPwmPeriod(uint32_t period); extern void StartSpeedTime(void); extern void StopSpeedTime(void); extern void stop_pwm_output(void); extern void TIMER2_IRQHandler_CallBack(void); extern uint32_t GetSpeedTimerOutcnt(void); #endif