Periph-Voilier/MyDrivers/MyPWM.h
2020-11-24 19:52:32 +01:00

42 lines
1.2 KiB
C

#ifndef MYPWM_H
#define MYPWM_H
/*
Driver pour la gestion de la PWM de Timers 1 à 4
*/
#include "stm32f103xb.h"
/**
* @brief Configure un signal PWM en mode Output
* @note Penser à appeler Timer_Conf() de Timer.h avant !
* @param 1 timer, 1 channel
* @retval None
*/
void MyPWM_Conf_Output(TIM_TypeDef * Timer, int channel);
/**
* @brief Configure un timer en mode PWM Input
* @note Penser à appeler Timer_Conf() de Timer.h avant !
* @param 1 timer, 2 channels associés (1&2 ou 3&4)
* @retval None
*/
void MyPWM_Conf_Input(TIM_TypeDef * Timer, int channel1, int channel2);
/**
* @brief Définit la durée de l'impulsion à l'état haut
* @note Fct utilisée en émission
* @param 1 timer, la valeur de changement de la PWM, 1 channel associé au timer
* @retval None
*/
void MyPWM_Set_Impulse_Duration(TIM_TypeDef * Timer, uint32_t CompareValue, int channel);
/**
* @brief Renvoie le duty cycle de la PWM en entrée
* @note Fct utilisée en réception
* @param 1 timer et 2 channels associés (1&2 ou 3&4)
* @retval renvoie le duty cycle en pour mille pour améliorer la résolution
*/
int MyPWM_Duty_Cycle_Permilles(TIM_TypeDef * Timer, int channel1, int channel2);
#endif