#ifndef MYTIMER_H #define MYTIMER_H #include "stm32f10x.h" typedef struct { TIM_TypeDef * Timer ; uint16_t ARR ; uint16_t PSC ; } MyTimer_Struct_TypeDef ; /* ***************************************************************************************** * @brief * @param -> Paramètre sous forme d’une structure (son adresse) contenant les informations de base * @Note -> Fonction à lancer systématiquement avant d’aller plus en détail dans les conf plus fines *********************************************************************************************** */ void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer) ; void Activate_TIM(int) ; /* ************************************************************************************************** * @brief * @param : - TIM_TypeDef * Timer : Timer concerné - char Prio : de 0 a 15 * @Note : La fonction MyTimer_Base_Init doit avoir été lancée au préalable ************************************************************************************************** */ void MyTimer_Active_IT ( TIM_TypeDef * , char , void (*) (void)) ; void TIM1_TRG_COM_IRQHandler(void) ; void TIM2_IRQHandler(void) ; void TIM3_IRQHandler(void) ; void TIM4_IRQHandler(void) ; /* ************************************************************************************************** * @brief * @param : - TIM_TypeDef * Timer : Timer concerné * - char Channel : canal concerné, de 1 a 4 * @Note : Active le channel spécifié sur le timer spécifié, la gestion de la configuration I/O n’est * pas faite dans cette fonction ni le réglage de la période de la PWM (ARR, PSC) ************************************************************************************************** */ void MyTimer_PWM( TIM_TypeDef *, char) ; /* ************************************************************************************************** * @brief * @param : - TIM_TypeDef * Timer : Timer concerné * - float rapport : rapport cyclique, de 0 à 1 * - char Channel : canal concerné, de 1 a 4 ************************************************************************************************** */ void MyTimer_PWM_set_cycle(TIM_TypeDef *, float, char) ; #define MyTimer_Base_Start(Timer) (Timer->CR1 |= 0x1) #define MyTimer_Base_Stop(Timer) (Timer->CR1 &= ~0x1) #endif