#include "motoreducteur.h" #include "timer.h" #include "gpio.h" void MyMotor_Init() { MyTimer_Struct_Typedef Timer; MyGPIO_Struct_TypeDef Pin_Direction; //F de 50kHz Timer.Timer = TIM3; Timer.ARR = 3599; //72Mhz / 50kHz = 1440 et 1440*1 = 1440 Timer.PSC = 0; Pin_Direction.GPIO = GPIOB; Pin_Direction.GPIO_Pin = 1; Pin_Direction.GPIO_Conf = Out_PullUp; MyTimer_Base_Init(&Timer); MyGPIO_Init(&Pin_Direction); //Pin Timer 3 Channel 3 PB0 MyTimer_PWM(TIM3, 3); MyTimer_DutyCycle(TIM3, 3, 0); MyTimer_Base_Start(Timer); MyMotor_ChangeDirection(ANTIHOR); } void MyMotor_ChangeSpeed(unsigned int DC) { MyTimer_DutyCycle(TIM3, 3, DC); } void MyMotor_ChangeDirection(uint8_t Sens) { if (Sens == HORAIRE) MyGPIO_Set(GPIOB, 1); if (Sens == ANTIHOR) MyGPIO_Reset(GPIOB, 1); }