FIN
This commit is contained in:
parent
7c2658d178
commit
6e98fa42c5
2 changed files with 26 additions and 13 deletions
|
|
@ -5,37 +5,48 @@
|
||||||
|
|
||||||
// int* anglequonveut=0; A DECLARER DANS LE MAIN
|
// int* anglequonveut=0; A DECLARER DANS LE MAIN
|
||||||
|
|
||||||
void Init_bordage(TIM_TypeDef *Timer, char channel, unsigned short ValARR, unsigned short ValPSC){
|
void Init_bordage(){
|
||||||
MyTimer_Init(Timer,ValARR,ValPSC);
|
MyTimer_Init(TIM1,3200,450);
|
||||||
Mytimer_PWM(Timer, channel);
|
Mytimer_PWM(TIM1, 1);
|
||||||
MyTimer_Base_Start(Timer);
|
MyTimer_Base_Start(TIM1);
|
||||||
MyGPIO_Init(GPIOA, 0, AltOut_Ppull);
|
MyGPIO_Init(GPIOA, 8, AltOut_Ppull);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Update_bodage (TIM_TypeDef *Timer, char channel, float roulis, int* angle){
|
void Update_bordage (TIM_TypeDef *Timer, char channel, float roulis){
|
||||||
float val;
|
float val;
|
||||||
int val2;
|
|
||||||
val = TIM4->CNT;
|
val = TIM4->CNT;
|
||||||
val2 = TIM4->CNT;
|
|
||||||
if (roulis < -40.0 || roulis > 40.0) {
|
if (roulis < -40.0 || roulis > 40.0) {
|
||||||
Mytimer_PWM_cycle(Timer, channel, 5);
|
Mytimer_PWM_cycle(Timer, channel, 5);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (val <4.0*45.0 || val > 4.0*(360.0-45.0)) {
|
if (val <4.0*45.0 || val > 4.0*(360.0-45.0)) {
|
||||||
Mytimer_PWM_cycle(Timer, channel, 9);
|
Mytimer_PWM_cycle(Timer, channel, 10);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
if (val <= 720.0) {
|
if (val <= 720.0) {
|
||||||
*angle = 2*(val2)/12 -30;
|
|
||||||
val/= -108.0;
|
val/= -108.0;
|
||||||
val+= 35.0/3.0;
|
val+= 35.0/3.0;
|
||||||
Mytimer_PWM_cycle(Timer, channel, (int) val);
|
Mytimer_PWM_cycle(Timer, channel, (int) val);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
*angle = -2*(val2)/12 + 210;
|
|
||||||
val/= 108.0;
|
val/= 108.0;
|
||||||
val+= -5.0/3.0;
|
val+= -5.0/3.0;
|
||||||
Mytimer_PWM_cycle(Timer, channel, (int) val);
|
Mytimer_PWM_cycle(Timer, channel, (int) val);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int Calcul_Angle(){
|
||||||
|
int val = TIM4->CNT;
|
||||||
|
if (val <4.0*45.0 || val > 4.0*(360.0-45.0)) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
if (val <= 720.0) {
|
||||||
|
return 2*(val)/12 -30;
|
||||||
|
}
|
||||||
|
else{
|
||||||
|
return -2*(val)/12 + 210;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -2,8 +2,10 @@
|
||||||
#define BORDAGE_H
|
#define BORDAGE_H
|
||||||
#include "stm32f10x.h"
|
#include "stm32f10x.h"
|
||||||
|
|
||||||
void Init_bordage(TIM_TypeDef *Timer, char channel, unsigned short ValARR, unsigned short ValPSC);
|
void Init_bordage();
|
||||||
|
|
||||||
void Update_bodage (TIM_TypeDef *Timer, char channel, float roulis, int* angle);
|
void Update_bordage (TIM_TypeDef *Timer, char channel, float roulis);
|
||||||
|
|
||||||
|
int Calcul_Angle();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
Loading…
Reference in a new issue