#include #include //#include #include #include 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 } }