hal_pwm.h 2.7 KB

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