pwm.h 1014 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef __PWM_H__
  2. #define __PWM_H__
  3. #define PWM_CHANNEL 6
  4. struct pwm_single_param {
  5. uint16 gpio_set;
  6. uint16 gpio_clear;
  7. uint32 h_time;
  8. };
  9. struct pwm_param {
  10. uint32 period;
  11. uint16 freq;
  12. uint16 duty[PWM_CHANNEL];
  13. };
  14. #define PWM_DEPTH 1023
  15. #define PWM_FREQ_MAX 1000
  16. #define PWM_1S 1000000
  17. // #define PWM_0_OUT_IO_MUX PERIPHS_IO_MUX_MTMS_U
  18. // #define PWM_0_OUT_IO_NUM 14
  19. // #define PWM_0_OUT_IO_FUNC FUNC_GPIO14
  20. // #define PWM_1_OUT_IO_MUX PERIPHS_IO_MUX_MTDI_U
  21. // #define PWM_1_OUT_IO_NUM 12
  22. // #define PWM_1_OUT_IO_FUNC FUNC_GPIO12
  23. // #define PWM_2_OUT_IO_MUX PERIPHS_IO_MUX_MTCK_U
  24. // #define PWM_2_OUT_IO_NUM 13
  25. // #define PWM_2_OUT_IO_FUNC FUNC_GPIO13
  26. void pwm_init(uint16 freq, uint16 *duty);
  27. void pwm_start(void);
  28. void pwm_set_duty(uint16 duty, uint8 channel);
  29. uint16 pwm_get_duty(uint8 channel);
  30. void pwm_set_freq(uint16 freq, uint8 channel);
  31. uint16 pwm_get_freq(uint8 channel);
  32. bool pwm_add(uint8 channel);
  33. bool pwm_delete(uint8 channel);
  34. bool pwm_exist(uint8 channel);
  35. #endif