64 líneas
2,2 KiB
C
64 líneas
2,2 KiB
C
#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
|