Projet_Voilier/Services/Plateau.c
2025-11-23 00:18:41 +01:00

30 lines
No EOL
682 B
C

#include <stm32f10x.h>
#include <Plateau.h>
#include <MyTimer.h>
#include <GPIO.h>
#include <USART.h>
void handler_USART1 (void) {
//Pour le projet : Lancer PWM en fonction de la valeur du curseur
char data = USART1->DR;
char valabs;
if (data & (1<<7)) {
MyGPIO_Set(GPIOA, 1);
valabs = (1<<7) - (data & 0x7F);
Mytimer_PWM_cycle(TIM3, 3, valabs);
}
else {
MyGPIO_Reset(GPIOA, 1);
Mytimer_PWM_cycle(TIM3, 3, data);
}
}
void Plateau_Init (void){
MyGPIO_Init(GPIOB,0,AltOut_Ppull);
MyGPIO_Init(GPIOA,1,Out_Ppull);
MyTimer_Init(TIM3, 360, 10);
Mytimer_PWM(TIM3, 3);
My_USART_Init(USART1);
MyUSART_ActiveIT(USART1, 6, &handler_USART1);
MyTimer_Base_Start(TIM3);
}