Supprimer iem.txt
This commit is contained in:
parent
1f72943c9b
commit
33d53af77c
1 changed files with 0 additions and 80 deletions
80
iem.txt
80
iem.txt
|
|
@ -1,80 +0,0 @@
|
||||||
MyUART.C
|
|
||||||
void (*rx_callback)(char) = 0;
|
|
||||||
|
|
||||||
void MyUART_SetRxCallback(void (*callback)(char)) {
|
|
||||||
rx_callback = callback;
|
|
||||||
}
|
|
||||||
|
|
||||||
void USART2_IRQHandler(void){
|
|
||||||
if (USART2->SR & USART_SR_RXNE) {
|
|
||||||
char c = (char)(USART2->DR & 0xFF);
|
|
||||||
if (rx_callback) rx_callback(c);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
main.C
|
|
||||||
volatile char cap = 0;
|
|
||||||
void ReceptionCap(char c){
|
|
||||||
cap = c;
|
|
||||||
}
|
|
||||||
void AppliquerCommandeCap(void){
|
|
||||||
int cmd = (int)cap;
|
|
||||||
|
|
||||||
if (cmd == 0) {
|
|
||||||
StopRotation();
|
|
||||||
} else if (cmd > 0) {
|
|
||||||
RotDroite(cmd);
|
|
||||||
} else {
|
|
||||||
RotGauche(-cmd);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
void main(){
|
|
||||||
MyUART_Init(USART2);
|
|
||||||
MyUART_SetRxCallback(ReceptionCap);
|
|
||||||
Init_GPIO_Sens();
|
|
||||||
Init_Timer_PWM();
|
|
||||||
while(1){
|
|
||||||
AppliquerCommandeCap();
|
|
||||||
Delay_ms(100); //fct à créer
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define MOTEUR_GPIO GPIOB ??
|
|
||||||
#define MOTEUR_PIN_SENS 0 ??
|
|
||||||
|
|
||||||
void Init_GPIO_Sens(void) {
|
|
||||||
MyGPIO_Init(MOTEUR_GPIO, MOTEUR_PIN_SENS, Out_Ppull);
|
|
||||||
}
|
|
||||||
|
|
||||||
#define MOTEUR_TIM TIM2 ??
|
|
||||||
#define MOTEUR_TIM_CHANNEL 1 ??
|
|
||||||
|
|
||||||
void Init_Timer_PWM(void) {
|
|
||||||
// Exemple fréquence PWM : 20 kHz fclock=72Mhz
|
|
||||||
// Choix PSC = 36 => 2 MHz timer clock
|
|
||||||
// ARR = 100 => 20 kHz PWM (2MHz / 100)
|
|
||||||
|
|
||||||
//La bonne pin (TIMx CHx) = Alternate Function Push-Pull
|
|
||||||
avec MyGPIO_Init(GPIOx,x, AltOut_Ppull) et verif RCC->APB2ENR |= RCC_APB2ENR_IOPxEN; actif
|
|
||||||
|
|
||||||
MyTimer_Base_Init(MOTEUR_TIM, 100, 36);
|
|
||||||
MyTimer_PWM(MOTEUR_TIM, MOTEUR_TIM_CHANNEL);
|
|
||||||
MyTimer_StartPWM(MOTEUR_TIM, MOTEUR_TIM_CHANNEL, 0); // PWM à 0 pour le start
|
|
||||||
}
|
|
||||||
|
|
||||||
void StopRotation(void) {
|
|
||||||
MyGPIO_Reset(MOTEUR_GPIO, MOTEUR_PIN_SENS); // blc sens MyTimer_StartPWM(MOTEUR_TIM, MOTEUR_TIM_CHANNEL, 0); // PWM=0 STOP
|
|
||||||
}
|
|
||||||
|
|
||||||
void RotDroite(int vitesse) {
|
|
||||||
MyGPIO_Set(MOTEUR_GPIO, MOTEUR_PIN_SENS); // droite = 1
|
|
||||||
MyTimer_StartPWM(MOTEUR_TIM, MOTEUR_TIM_CHANNEL, vitesse);}
|
|
||||||
|
|
||||||
void RotGauche(int vitesse) {
|
|
||||||
MyGPIO_Reset(MOTEUR_GPIO, MOTEUR_PIN_SENS); // droite = 1
|
|
||||||
MyTimer_StartPWM(MOTEUR_TIM, MOTEUR_TIM_CHANNEL, vitesse);}
|
|
||||||
Loading…
Reference in a new issue