TP_Voilier_la_meilleure_ver.../FileInclude/MyTimer.h
2022-10-28 10:04:14 +02:00

44 line
1.2 KiB
C

#ifndef __MYTIMER_H
#define __MYTIMER_H
#include "stm32f10x.h"
typedef struct
{
TIM_TypeDef * Timer ; // TIM1 à TIM4
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* Data) ;
void MyTimer_Base_Start(TIM_TypeDef * Timer );
void MyTimer_Base_Stop(TIM_TypeDef * Timer );
void MyTimer_ActiveIT (TIM_TypeDef * Timer, char Prio, void (* IT_function) (void));
void MyTimer_PWM(TIM_TypeDef * Timer, char Channel);
/**
* alpha = CRR/ARR, use Get_Max_Duty(Timer) to get ARR
*/
void Set_Duty_Cycle(TIM_TypeDef * Timer , char Channel,uint16_t crr);
/**
* Returns ARR
*/
uint16_t Get_Max_Duty(TIM_TypeDef * Timer);
void Set_PWM_PRCT(TIM_TypeDef * Timer, char Channel, int percent);
#endif