projet_voilier/Keil_Elise_Yuwei/Local_Sources/adc/Include/MyTimer.h
2021-11-15 12:23:39 +01:00

80 行
2.5 KiB
C
Raw Blame 履歴

このファイルには曖昧(ambiguous)なUnicode文字が含まれています

このファイルには、他の文字と見間違える可能性があるUnicode文字が含まれています。 それが意図的なものと考えられる場合は、この警告を無視して構いません。 それらの文字を表示するにはエスケープボタンを使用します。

#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 * Timer ) ;
/*
*****************************************************************************************
* @brief
* @param -> - TIM_TypeDef * Timer : Timer concerne
* @Note ->
*************************************************************************************************
*/
void MyTimer_EncoderMode_Conf ( TIM_TypeDef *TIM ) ;
/*
**************************************************************************************************
* @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 : - TIM_TypeDef * Timer : Timer concerne
- char Channel : de 1 a 4
* @Note : Active le channel spécifié sur 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 ) ;
/*
**************************************************************************************************
* @brief
* @param : - TIM_TypeDef * Timer : Timer concerne
- char Duty_Cycle : rapport cyclique de 0 a 100%
- char Channel : de 1 a 4
* @Note :
**************************************************************************************************
*/
void Set_Duty_Cycle (TIM_TypeDef * Timer, char Channel, char Duty_Cycle) ;
#define MyTimer_Base_Start( Timer ) ( Timer->CR1 |= (1 << 0) )
#define MyTimer_Base_Stop( Timer ) ( Timer->CR1 &= ~(1 << 0) )
#endif