pwm.h 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #ifndef __PWM_H
  2. #define __PWM_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #ifdef __PWM_H_GLOBAL
  7. #define __PWM_H_EXTERN
  8. #else
  9. #define __PWM_H_EXTERN extern
  10. #endif
  11. /************************************************************************************************
  12. * Version *
  13. ************************************************************************************************/
  14. /************************************************************************************************
  15. * How to use *
  16. ************************************************************************************************/
  17. /************************************************************************************************
  18. * Enable config *
  19. ************************************************************************************************/
  20. /************************************************************************************************
  21. * Includes *
  22. ************************************************************************************************/
  23. #include "stm32f4xx.h"
  24. #include <stdint.h>
  25. /************************************************************************************************
  26. * Defines *
  27. ************************************************************************************************/
  28. typedef struct
  29. {
  30. GPIO_TypeDef *pwm_gpio_port;
  31. uint32_t pwm_gpio_pin;
  32. uint32_t pwm_gpio_rcu;
  33. uint16_t pwm_gpio_af;
  34. uint8_t pwm_time_af;
  35. TIM_TypeDef *pwm_timer;
  36. uint32_t pwm_timer_rcu;
  37. uint32_t pwm_timer_ch;
  38. uint32_t pwm_prescaler;
  39. uint32_t pwm_period;
  40. uint32_t pwm_pulse;
  41. uint8_t pwm_status;
  42. } pwm_content_t;
  43. void pwm_init(pwm_content_t *pwm_content);
  44. void pwm_mode(pwm_content_t *pwm_content, uint8_t status);
  45. extern pwm_content_t pwm_timer3_content;
  46. /************************************************************************************************
  47. * Defines *
  48. ************************************************************************************************/
  49. #ifdef __cplusplus
  50. };
  51. #endif
  52. #endif // __PWM_H