#ifndef DRIVER_TIMER_H #define DRIVER_TIMER_H #include "stm32f10x.h" typedef struct { TIM_TypeDef * Timer; unsigned short ARR; unsigned short 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 (PWM, codeur inc...) ************************************************************************************************* */ void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer); /*#define MyTimer_Base_Start(Timer) ... #define MyTimer_Base_Stop(Timer) ... */ void MyTimer_Start(MyTimer_Struct_TypeDef * Timer) ; void MyTimer_Stop(MyTimer_Struct_TypeDef * Timer) ; /** ************************************************************************************************** * @brief * @param : -TIM_TypeDef * Timer : Timer concerne - char Prio: de 0 a 15 * @Note : La fonction MyTimer_Base_Init doit avoir ete lancee au prealable ************************************************************************************************** */ void MyTimer_ActiveIT (TIM_TypeDef * Timer, char Prio, void (*IT_function)(void)); /** * @brief * @param * @Note Active le channel sp�cifi� sur Timer 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 * Timer, char Channel); void MyTimer_ConfigurePWM(MyTimer_Struct_TypeDef *Timer, uint16_t duty_cycle); #endif