BE_VOILIER/Pilotes/Source/Servo.c
2025-11-25 19:14:46 +01:00

30 lines
794 B
C
Executable file

#include "Servo.h"
#include "DriverGPIO.h"
#include "PWM.h"
#include "Timer.h"
#include "Accelerometre.h"
#include "Horloge.h"
void Servo_Moteur(int angle, TIM_TypeDef * Timer, int Channel){ // Controle du moteur
int dutyCycle = (5* angle + 5*90)/90;
Set_DutyCycle_PWM(TIM4, 3, dutyCycle); //On met Duty cycle à 2% et il reste autour de 90 deg
}
void initServo(TIM_TypeDef * Timer, int Channel){ // Config du moteur servo
if (Timer == TIM4) {
EnableTimer(TIM4);
MyTimer_Base_Init(TIM4, 20000 - 1, 71);
if (Channel == 3){
MyGPIO_Init(GPIOB, 8, AltOut_Ppull); // Outut push pull alternate
MyTimer_PWM(TIM4, 3); //TIM4 CH3 pour PB8
}
else{
//printf("Cet pilôte n'existe pas");
}
}
else{
//printf("Cet pilôte n'existe pas");
}
}