64 lines
2.2 KiB
C
64 lines
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
|