Premiere version de DCMotor, a modifier pour correspondre au fonctionnement en reel.
This commit is contained in:
parent
491fd3af6b
commit
92945a99af
4 changed files with 44 additions and 2 deletions
|
@ -1 +1,35 @@
|
||||||
#include "DCMotor.h"
|
#include "DCMotor.h"
|
||||||
|
|
||||||
|
void DCMotor_conf(double speed) {
|
||||||
|
|
||||||
|
double speedAbs = (speed > 0.) ? speed : -speed;
|
||||||
|
int sens = (speed > 0.) ? 1 : 0;
|
||||||
|
|
||||||
|
//On règle la vitesse en valeur absolue
|
||||||
|
Timer_pwmo_conf(TIM2, LL_TIM_CHANNEL_CH2, 50, speedAbs);
|
||||||
|
|
||||||
|
//On règle le sens du moteur
|
||||||
|
GPIO_conf(GPIOA, LL_GPIO_PIN_2, LL_GPIO_MODE_OUTPUT, LL_GPIO_OUTPUT_OPENDRAIN, LL_GPIO_PULL_DOWN);
|
||||||
|
GPIO_setPin(GPIOA, LL_GPIO_PIN_2, sens);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DCMotor_setSpeed(double speed) {
|
||||||
|
|
||||||
|
double speedAbs = (speed > 0.) ? speed : -speed;
|
||||||
|
int sens = (speed > 0.) ? 1 : 0;
|
||||||
|
|
||||||
|
Timer_pwmo_setDutyCycle(TIM2, LL_TIM_CHANNEL_CH2, speedAbs);
|
||||||
|
GPIO_setPin(GPIOA, LL_GPIO_PIN_2, sens);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
double DCMotor_getSpeed(){
|
||||||
|
|
||||||
|
double speedAbs = Timer_pwmo_getDutyCycle(TIM2, LL_TIM_CHANNEL_CH2);
|
||||||
|
int sens = GPIO_readPin(GPIOA, LL_GPIO_PIN_2);
|
||||||
|
|
||||||
|
double speed = (sens) ? speedAbs : -speedAbs;
|
||||||
|
|
||||||
|
return speed;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -1,5 +1,13 @@
|
||||||
#ifndef DCMOTOR_H
|
#ifndef DCMOTOR_H
|
||||||
#define DCMOTOR_H
|
#define DCMOTOR_H
|
||||||
|
|
||||||
|
#include "GPIO.h"
|
||||||
|
#include "Timer.h"
|
||||||
|
|
||||||
|
void DCMotor_conf(double duty_cycle);
|
||||||
|
|
||||||
|
void DCMotor_setSpeed(double speed);
|
||||||
|
|
||||||
|
double DCMotor_getSpeed(void);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -14,4 +14,4 @@ double RFReceiver_getData(){
|
||||||
|
|
||||||
return (duree_impulsion -1) * 200 - 100;
|
return (duree_impulsion -1) * 200 - 100;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#ifndef RFRECEIVER_H
|
#ifndef RFRECEIVER_H
|
||||||
#define RFRECEIVER_H
|
#define RFRECEIVER_H
|
||||||
|
|
||||||
#include "Timer.c"
|
#include "Timer.h"
|
||||||
|
|
||||||
void RFReceiver_conf(void);
|
void RFReceiver_conf(void);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue