api_rt_pwm.h 839 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef _API_PWM_LOW_H_
  2. #define _API_PWM_LOW_H_
  3. #include <stdint.h>
  4. #include "api_pwm.h"
  5. #include "api_rt_common.h"
  6. #include "gd32f30x.h"
  7. typedef struct
  8. {
  9. uint32_t PwmBase;
  10. uint16_t CompareValues[6];
  11. uint16_t ActiveCompareValues[6];
  12. int8_t OutputEnable;
  13. #if API_FUNCTION_PWM_SYNC_MULTI_SAMPLING
  14. int8_t SyncSamplingEnable;
  15. int8_t SyncSamplingUpTickCount;
  16. uint16_t SyncSamplingUpTick[4];
  17. int8_t SyncSamplingDownTickCount;
  18. uint16_t SyncSamplingDownTick[4];
  19. #endif
  20. } ApiRtPwm_Handle;
  21. extern ApiRtPwm_Handle Pwms[1];
  22. void iRtPwm_Init();
  23. void iRtPwm_ActivateCompareValues(uint8_t devIndex);
  24. void iRtPwm_UpdateIsr(uint8_t devIndex);
  25. void iRtPwm_CountZeroIsr(uint8_t devIndex);
  26. void iRtPwm_CountMaxIsr(uint8_t devIndex);
  27. void iRtPwm_SyncSamplingAdcIsr(uint8_t devIndex);
  28. #endif