Projet-Voilier-3/driver/Driver_Timer.h
Sanchez Manon c930991ccb Ajout du Driver_IMU, pour la gestion de l'accéléromètre.
Les fichiers Driver_SPI sont des versions personnelles non fonctionelle de la gestion du SPI.
C'est la bibliothèque MySPI qui est utilisée dans le projet.

Ajout de commentaires dans tous les fichiers driver en format doxygen.
2023-04-05 16:39:01 +02:00

62 lines
2.5 KiB
C
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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 Initialisation du timer
* @param -> Paramètre sous forme dune structure (son adresse) contenant les informations du timer
* @Note -> Fonction à lancer systématiquement avant daller plus en détail dans les conf plus fines (PWM, codeur inc...)
*************************************************************************************************
*/
void MyTimer_Base_Init(MyTimer_Struct_TypeDef * Timer);
/**
*************************************************************************************************
* @brief Fonction pour lancer le timer voulu
* @param -> Paramètre sous forme dune structure (son adresse) qui défini le numéro du timer
* @Note ->
*************************************************************************************************
*/
void MyTimer_Start(TIM_TypeDef * Timer) ;
/**
*************************************************************************************************
* @brief Fonction pour arrêter le timer voulu
* @param -> Paramètre sous forme dune structure (son adresse) qui défini le numéro du timer
* @Note
*************************************************************************************************
*/
void MyTimer_Stop(TIM_TypeDef * Timer) ;
/**
**************************************************************************************************
* @brief Active une interruption utilisant un timer
* @param : -TIM_TypeDef * Timer : Timer concerné
* - char Prio: de 0 a 15
* @Note : La fonction MyTimer_Base_Init doit avoir été lancée au prealable
**************************************************************************************************
*/
void MyTimer_ActiveIT (TIM_TypeDef * Timer, char Prio, void (*IT_function)(void));
/**
*************************************************************************************************
* @brief Fonction pour le timer du PWM
* @param : -TIM_TypeDef * Timer : Timer concerné
* - char Channel : channel du PWM concerné
* @Note Active le channel spécifié sur Timer le timer spécifié
* la gestion de la configuration I/O nest 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);
#endif