#ifndef __PWM_H #define __PWM_H #ifdef __cplusplus extern "C" { #endif #ifdef __PWM_H_GLOBAL #define __PWM_H_EXTERN #else #define __PWM_H_EXTERN extern #endif /************************************************************************************************ * Version * ************************************************************************************************/ /************************************************************************************************ * How to use * ************************************************************************************************/ /************************************************************************************************ * Enable config * ************************************************************************************************/ /************************************************************************************************ * Includes * ************************************************************************************************/ #include "stm32f4xx.h" #include /************************************************************************************************ * Defines * ************************************************************************************************/ typedef struct { GPIO_TypeDef *pwm_gpio_port; uint32_t pwm_gpio_pin; uint32_t pwm_gpio_rcu; uint16_t pwm_gpio_af; uint8_t pwm_time_af; TIM_TypeDef *pwm_timer; uint32_t pwm_timer_rcu; uint32_t pwm_timer_ch; uint32_t pwm_prescaler; uint32_t pwm_period; uint32_t pwm_pulse; uint8_t pwm_status; } pwm_content_t; void pwm_init(pwm_content_t *pwm_content); void pwm_mode(pwm_content_t *pwm_content, uint8_t status); extern pwm_content_t pwm_timer3_content; /************************************************************************************************ * Defines * ************************************************************************************************/ #ifdef __cplusplus }; #endif #endif // __PWM_H