31 lines
840 B
C
Executable file
31 lines
840 B
C
Executable file
#include <stm32f10x.h>
|
|
#include <Horloge.h>
|
|
//#include <MYGPIO.h>
|
|
#include <stdlib.h>
|
|
|
|
#include <stdint.h>
|
|
|
|
|
|
void initLacheur(void){
|
|
GPIOB->CRH &= ~(0xF << (0 * 4));
|
|
GPIOB->CRH |= (0xA << (0 * 4)); //On met GPIOB.8 en mode output 2Mhz, alternate pp
|
|
Timer_Init(TIM4, 20000 - 1, 71); //Claire m'a aidé
|
|
}
|
|
|
|
//Recuperer le DATA en X, Z, Y
|
|
void LacheVoile(uint16_t * DATA){
|
|
//uint16_t X = DATA[0]; //Z le longe du mât (masten)
|
|
//uint16_t Z = DATA[2];// //X le long du sense de voilier
|
|
uint16_t Y = DATA[1]; ////Y vers les bords (Tribord/Babord)
|
|
if (Y>=0x007B){// exatement à 40 degrés, on lache le 40%. 0xFF*(40deg/90deg)
|
|
//Le PWM du moteur est gère par PB7
|
|
MyTimer_PWM(TIM4, 3); //TIM4 CH3 pour PB8
|
|
Set_DutyCycle_PWM(TIM4, 3, 2); //On met Duty cycle à 2% et il reste autour de 90 deg
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|