From 506c51938668361fd3322595a9ea2b12e4f6e14d Mon Sep 17 00:00:00 2001
From: Neluji <38362829+Neluji@users.noreply.github.com>
Date: Tue, 17 Nov 2020 10:09:04 +0100
Subject: [PATCH 1/3] Moteur_conf(), moteur_speed() et moteur_sens()
---
MDK-ARM/Project.uvoptx | 36 ++++++++++++++-------
MDK-ARM/Project.uvprojx | 14 ++++++++
Services/Moteur.c | 72 +++++++++++++++++++++++++++++++++++++++++
Services/Moteur.h | 6 ++++
Src/main.c | 1 +
5 files changed, 117 insertions(+), 12 deletions(-)
create mode 100644 Services/Moteur.c
create mode 100644 Services/Moteur.h
diff --git a/MDK-ARM/Project.uvoptx b/MDK-ARM/Project.uvoptx
index fc20bbe..633b71e 100644
--- a/MDK-ARM/Project.uvoptx
+++ b/MDK-ARM/Project.uvoptx
@@ -461,6 +461,18 @@
0
0
0
+
+ 2
+ 2
+ 1
+ 1
+ 0
+ 0
+ ..\Services\Moteur.c
+ Moteur.c
+ 0
+ 0
+
@@ -471,9 +483,9 @@
0
3
- 2
+ 3
1
- 1
+ 0
0
0
..\MyDrivers\MyTimer.c
@@ -483,9 +495,9 @@
3
- 3
+ 4
1
- 1
+ 0
0
0
..\MyDrivers\MyPWM.c
@@ -503,7 +515,7 @@
0
4
- 4
+ 5
1
0
0
@@ -515,7 +527,7 @@
4
- 5
+ 6
1
0
0
@@ -527,7 +539,7 @@
4
- 6
+ 7
1
0
0
@@ -539,7 +551,7 @@
4
- 7
+ 8
1
0
0
@@ -551,7 +563,7 @@
4
- 8
+ 9
1
0
0
@@ -571,7 +583,7 @@
0
5
- 9
+ 10
5
0
0
@@ -591,7 +603,7 @@
0
6
- 10
+ 11
1
0
0
@@ -611,7 +623,7 @@
0
7
- 11
+ 12
2
0
0
diff --git a/MDK-ARM/Project.uvprojx b/MDK-ARM/Project.uvprojx
index 8a6b949..59049c2 100644
--- a/MDK-ARM/Project.uvprojx
+++ b/MDK-ARM/Project.uvprojx
@@ -391,6 +391,13 @@
User Services
+
+
+ Moteur.c
+ 1
+ ..\Services\Moteur.c
+
+
MyDrivers
@@ -857,6 +864,13 @@
User Services
+
+
+ Moteur.c
+ 1
+ ..\Services\Moteur.c
+
+
MyDrivers
diff --git a/Services/Moteur.c b/Services/Moteur.c
new file mode 100644
index 0000000..69e5ca8
--- /dev/null
+++ b/Services/Moteur.c
@@ -0,0 +1,72 @@
+#include "Moteur.h"
+#include "MyPWM.h"
+#include "MyTimer.h"
+
+#include "stm32f1xx_ll_bus.h"
+#include "stm32f1xx_ll_gpio.h"
+
+//Fpwm = 10kHz
+static int Arr = 0x1C1F;
+static int Psc = 0x0;
+
+void Moteur_Conf() {
+
+ //Activation horloge GPIO
+ LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
+
+ //Config broche PA2 -> Sens
+ LL_GPIO_InitTypeDef* My_GPIO_Init_Struct;
+
+ LL_GPIO_StructInit(My_GPIO_Init_Struct);
+
+ My_GPIO_Init_Struct->Pin = PinSens;
+ My_GPIO_Init_Struct->Mode = LL_GPIO_MODE_OUTPUT;
+ My_GPIO_Init_Struct->OutputType = LL_GPIO_OUTPUT_PUSHPULL;
+
+ LL_GPIO_Init(GPIOPins, My_GPIO_Init_Struct);
+
+ //Config broche PA1 -> PWM
+ LL_GPIO_StructInit(My_GPIO_Init_Struct);
+
+ My_GPIO_Init_Struct->Pin = PinPWM;
+ My_GPIO_Init_Struct->Mode = LL_GPIO_MODE_ALTERNATE;
+ My_GPIO_Init_Struct->OutputType = LL_GPIO_OUTPUT_PUSHPULL;
+
+ LL_GPIO_Init(GPIOPins, My_GPIO_Init_Struct);
+
+ //Activation horloge Timer
+ LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM2);
+
+ //Configuration initiale du Timer
+ MyTimer_Conf(TimerPWM, Arr, Psc);
+ //Configuration du Timer en PWM Output
+ MyPWM_Conf_Output(TimerPWM, channelPWM);
+ MyPWM_Set_Impulse_Duration(TimerPWM, 0, channelPWM);
+
+}
+
+
+
+void Moteur_Speed(int speedPercentage) {
+
+ if(speedPercentage == 0) {
+ MyTimer_Stop(TimerPWM);
+ }
+ else {
+ MyTimer_Start(TimerPWM);
+ MyPWM_Set_Impulse_Duration(TimerPWM, Arr*speedPercentage/100, channelPWM);
+ }
+
+}
+
+
+void Moteur_Sens(int sens) {
+
+ if(sens == 0) {
+ LL_GPIO_ResetOutputPin(GPIOPins, PinSens);
+ }
+ else {
+ LL_GPIO_SetOutputPin(GPIOPins, PinSens);
+ }
+
+}
\ No newline at end of file
diff --git a/Services/Moteur.h b/Services/Moteur.h
new file mode 100644
index 0000000..f49a42c
--- /dev/null
+++ b/Services/Moteur.h
@@ -0,0 +1,6 @@
+
+#define PinSens LL_GPIO_PIN_2
+#define PinPWM LL_GPIO_PIN_1
+#define GPIOPins GPIOA
+#define TimerPWM TIM2
+#define channelPWM LL_TIM_CHANNEL_CH2
diff --git a/Src/main.c b/Src/main.c
index a621f57..519f827 100644
--- a/Src/main.c
+++ b/Src/main.c
@@ -22,6 +22,7 @@
#include "stm32f1xx_ll_gpio.h"
#include "MyTimer.h"
#include "MyPWM.h"
+#include "Moteur.h"
void SystemClock_Config(void);
From 7e745ca4f9741f38af83fbf1c8664e4f8dfe8a37 Mon Sep 17 00:00:00 2001
From: Neluji <38362829+Neluji@users.noreply.github.com>
Date: Tue, 17 Nov 2020 11:09:17 +0100
Subject: [PATCH 2/3] =?UTF-8?q?Fin=20s=C3=A9ance=2010=20->=20pb=20conf=20g?=
=?UTF-8?q?pio?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
MDK-ARM/Project.uvoptx | 56 +++++++++++++++++++++++++++++++-----------
Services/Moteur.c | 21 +++++++++-------
Services/Moteur.h | 6 +++++
Services/services.txt | 1 -
Src/main.c | 50 ++++---------------------------------
5 files changed, 65 insertions(+), 69 deletions(-)
delete mode 100644 Services/services.txt
diff --git a/MDK-ARM/Project.uvoptx b/MDK-ARM/Project.uvoptx
index 633b71e..6c5132a 100644
--- a/MDK-ARM/Project.uvoptx
+++ b/MDK-ARM/Project.uvoptx
@@ -305,7 +305,7 @@
- ..\..\inifiles\Simu_Pulse.ini
+
@@ -317,7 +317,7 @@
0
DLGDARM
- (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=504,37,1150,710,0)(110=60,88,280,548,0)(111=752,104,972,564,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=533,85,954,512,0)(121=892,96,1313,523,0)(122=674,103,1095,530,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=709,11,1303,762,0)(131=150,13,744,764,0)(132=599,17,1193,768,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)
+ (1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(100=504,37,1150,710,0)(110=60,88,280,548,0)(111=752,104,972,564,0)(1011=-1,-1,-1,-1,0)(180=-1,-1,-1,-1,0)(120=864,64,1285,491,0)(121=892,96,1313,523,0)(122=674,103,1095,530,0)(123=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=709,11,1303,762,0)(131=736,17,1330,768,0)(132=599,17,1193,768,0)(133=295,17,889,768,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(234=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0)
0
@@ -350,7 +350,40 @@
-U-O142 -O2254 -S0 -C0 -A0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO7 -FD20000000 -FC800 -FN1 -FF0STM32F10x_128.FLM -FS08000000 -FL020000 -FP0($$Device:STM32F103RB$Flash\STM32F10x_128.FLM)
-
+
+
+ 0
+ 0
+ 38
+ 1
+ 134219162
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ F:\Etudes\4A\µC - Périphériques\Periph-Voilier\Services\Moteur.c
+
+ \\NUCLEO_F103RB\../Services/Moteur.c\38
+
+
+ 1
+ 0
+ 26
+ 1
+ 134219126
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ F:\Etudes\4A\µC - Périphériques\Periph-Voilier\Services\Moteur.c
+
+ \\NUCLEO_F103RB\../Services/Moteur.c\26
+
+
0
@@ -362,7 +395,7 @@
1
0
- porta
+ Psc
0
@@ -411,18 +444,13 @@
0
- ((porta & 0x00000080) >> 7 & 0x80) >> 7
- 00800000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274612026203078303030303030383029203E3E2037000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000CDCCCCCCCCCCD43F1800000000000000000000000000000000000000540E0008
+ ((porta & 0x00000002) >> 1 & 0x2) >> 1
+ 00800000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274612026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000E03F1800000000000000000000000000000000000000320F0008
1
- (porta & 0x00000001)
- 00000000000000000000000000000000E0FFEF400100000000000000000000000000000028706F72746120262030783030303030303031290000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000002000000000000000000D43F1800000000000000000000000000000000000000E20E0008
-
-
- 2
- ((portb & 0x00000040) >> 6 & 0x40) >> 6
- 00008000000000000000000000000000E0FFEF400000000000000000000000000000000028706F7274622026203078303030303030343029203E3E2036000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000003000000333333333333D73F1800000000000000000000000000000000000000440E0008
+ ((porta & 0x00000004) >> 2 & 0x4) >> 2
+ 00008000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274612026203078303030303030303429203E3E2032000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000002000000000000000000E03F1800000000000000000000000000000000000000320F0008
@@ -465,7 +493,7 @@
2
2
1
- 1
+ 0
0
0
..\Services\Moteur.c
diff --git a/Services/Moteur.c b/Services/Moteur.c
index 69e5ca8..3a7e749 100644
--- a/Services/Moteur.c
+++ b/Services/Moteur.c
@@ -6,10 +6,10 @@
#include "stm32f1xx_ll_gpio.h"
//Fpwm = 10kHz
-static int Arr = 0x1C1F;
-static int Psc = 0x0;
-void Moteur_Conf() {
+void Moteur_Conf(void) {
+ int Arr = 0x1C1F;
+ int Psc = 0x0;
//Activation horloge GPIO
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
@@ -19,20 +19,20 @@ void Moteur_Conf() {
LL_GPIO_StructInit(My_GPIO_Init_Struct);
- My_GPIO_Init_Struct->Pin = PinSens;
+ My_GPIO_Init_Struct->Pin = LL_GPIO_PIN_2;
My_GPIO_Init_Struct->Mode = LL_GPIO_MODE_OUTPUT;
My_GPIO_Init_Struct->OutputType = LL_GPIO_OUTPUT_PUSHPULL;
- LL_GPIO_Init(GPIOPins, My_GPIO_Init_Struct);
+ LL_GPIO_Init(GPIOA, My_GPIO_Init_Struct);
//Config broche PA1 -> PWM
LL_GPIO_StructInit(My_GPIO_Init_Struct);
- My_GPIO_Init_Struct->Pin = PinPWM;
+ My_GPIO_Init_Struct->Pin = LL_GPIO_PIN_1;
My_GPIO_Init_Struct->Mode = LL_GPIO_MODE_ALTERNATE;
My_GPIO_Init_Struct->OutputType = LL_GPIO_OUTPUT_PUSHPULL;
- LL_GPIO_Init(GPIOPins, My_GPIO_Init_Struct);
+ LL_GPIO_Init(GPIOA, My_GPIO_Init_Struct);
//Activation horloge Timer
LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM2);
@@ -41,13 +41,16 @@ void Moteur_Conf() {
MyTimer_Conf(TimerPWM, Arr, Psc);
//Configuration du Timer en PWM Output
MyPWM_Conf_Output(TimerPWM, channelPWM);
- MyPWM_Set_Impulse_Duration(TimerPWM, 0, channelPWM);
+
+ Moteur_Speed(0);
+ Moteur_Sens(0);
}
void Moteur_Speed(int speedPercentage) {
+ int Arr = 0x1C1F;
if(speedPercentage == 0) {
MyTimer_Stop(TimerPWM);
@@ -69,4 +72,4 @@ void Moteur_Sens(int sens) {
LL_GPIO_SetOutputPin(GPIOPins, PinSens);
}
-}
\ No newline at end of file
+}
diff --git a/Services/Moteur.h b/Services/Moteur.h
index f49a42c..69ccaae 100644
--- a/Services/Moteur.h
+++ b/Services/Moteur.h
@@ -4,3 +4,9 @@
#define GPIOPins GPIOA
#define TimerPWM TIM2
#define channelPWM LL_TIM_CHANNEL_CH2
+
+void Moteur_Conf(void);
+
+void Moteur_Speed(int speedPercentage);
+
+void Moteur_Sens(int sens);
diff --git a/Services/services.txt b/Services/services.txt
deleted file mode 100644
index 1698ef7..0000000
--- a/Services/services.txt
+++ /dev/null
@@ -1 +0,0 @@
-Mettre les services ici
\ No newline at end of file
diff --git a/Src/main.c b/Src/main.c
index 519f827..bf51d3f 100644
--- a/Src/main.c
+++ b/Src/main.c
@@ -40,53 +40,13 @@ int main(void)
/* Configure the system clock to 72 MHz */
SystemClock_Config();
- /*===Test Output===*/
+ /*===Test Moteur===*/
- TIM_TypeDef *Timer1 = TIM3;
- int Channel1 = LL_TIM_CHANNEL_CH2;
- TIM_TypeDef *Timer2 = TIM4;
- int Channel2 = LL_TIM_CHANNEL_CH4;
+ //INIT GPIO MARCHE PAS->PB PIN
+ Moteur_Conf();
- MyTimer_Conf(Timer1,0xFFFE, 0x72);
- MyTimer_Conf(Timer2,0xFFFE, 0x72);
-
- MyPWM_Conf_Output(Timer1, Channel1);
- MyPWM_Conf_Output(Timer2, Channel2);
-
- MyPWM_Set_Impulse_Duration(Timer1, 25, Channel1);
- MyPWM_Set_Impulse_Duration(Timer2, 75, Channel2);
-
- LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
- LL_GPIO_InitTypeDef My_GPIO_Init_Struct;
- My_GPIO_Init_Struct.Pin = LL_GPIO_PIN_7;
- My_GPIO_Init_Struct.Mode = LL_GPIO_MODE_ALTERNATE;
- My_GPIO_Init_Struct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
- My_GPIO_Init_Struct.Speed = LL_GPIO_MODE_OUTPUT_2MHz;
- My_GPIO_Init_Struct.Pull = LL_GPIO_PULL_DOWN;
- LL_GPIO_Init(GPIOA, &My_GPIO_Init_Struct);
-
- LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOB);
- My_GPIO_Init_Struct.Pin = LL_GPIO_PIN_9;
- My_GPIO_Init_Struct.Mode = LL_GPIO_MODE_ALTERNATE;
- My_GPIO_Init_Struct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
- My_GPIO_Init_Struct.Speed = LL_GPIO_MODE_OUTPUT_2MHz;
- My_GPIO_Init_Struct.Pull = LL_GPIO_PULL_DOWN;
- LL_GPIO_Init(GPIOB, &My_GPIO_Init_Struct);
-
- My_GPIO_Init_Struct.Pin = LL_GPIO_PIN_0;
- My_GPIO_Init_Struct.Mode = LL_GPIO_MODE_FLOATING;
- My_GPIO_Init_Struct.Pull = LL_GPIO_PULL_DOWN;
- LL_GPIO_Init(GPIOA, &My_GPIO_Init_Struct);
-
- My_GPIO_Init_Struct.Pin = LL_GPIO_PIN_6;
- My_GPIO_Init_Struct.Mode = LL_GPIO_MODE_FLOATING;
- My_GPIO_Init_Struct.Pull = LL_GPIO_PULL_DOWN;
- LL_GPIO_Init(GPIOB, &My_GPIO_Init_Struct);
-
- MyTimer_Start(Timer1);
- MyTimer_Start(Timer2);
-
-
+ Moteur_Speed(50);
+ Moteur_Sens(1);
/* Infinite loop */
while (1)
From 3aa80037769457c3902ffe3ef78c1ceb81ae66fd Mon Sep 17 00:00:00 2001
From: Neluji <38362829+Neluji@users.noreply.github.com>
Date: Sun, 22 Nov 2020 13:05:16 +0100
Subject: [PATCH 3/3] GPIO configuration fixed - Moteur OK
---
MDK-ARM/Project.uvoptx | 28 ++++++----------------------
MyDrivers/MyPWM.h | 8 ++++++--
Services/Moteur.c | 29 +++++++++++++++++------------
Services/Moteur.h | 6 ++++++
Src/main.c | 13 ++++++++++---
5 files changed, 45 insertions(+), 39 deletions(-)
diff --git a/MDK-ARM/Project.uvoptx b/MDK-ARM/Project.uvoptx
index 6c5132a..aa749d9 100644
--- a/MDK-ARM/Project.uvoptx
+++ b/MDK-ARM/Project.uvoptx
@@ -354,9 +354,9 @@
0
0
- 38
+ 25
1
- 134219162
+ 134219120
0
0
0
@@ -365,23 +365,7 @@
1
F:\Etudes\4A\µC - Périphériques\Periph-Voilier\Services\Moteur.c
- \\NUCLEO_F103RB\../Services/Moteur.c\38
-
-
- 1
- 0
- 26
- 1
- 134219126
- 0
- 0
- 0
- 0
- 0
- 1
- F:\Etudes\4A\µC - Périphériques\Periph-Voilier\Services\Moteur.c
-
- \\NUCLEO_F103RB\../Services/Moteur.c\26
+ \\NUCLEO_F103RB\../Services/Moteur.c\25
@@ -395,7 +379,7 @@
1
0
- Psc
+ My_GPIO_Init_Struct
0
@@ -445,12 +429,12 @@
0
((porta & 0x00000002) >> 1 & 0x2) >> 1
- 00800000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274612026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000E03F1800000000000000000000000000000000000000320F0008
+ 00800000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274612026203078303030303030303229203E3E2031000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000001000000000000000000E03F0B00000000000000000000000000000000000000320F0008
1
((porta & 0x00000004) >> 2 & 0x4) >> 2
- 00008000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274612026203078303030303030303429203E3E2032000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000002000000000000000000E03F1800000000000000000000000000000000000000320F0008
+ 00008000000000000000000000000000E0FFEF400100000000000000000000000000000028706F7274612026203078303030303030303429203E3E2032000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000002000000000000000000E03F0B00000000000000000000000000000000000000320F0008
diff --git a/MyDrivers/MyPWM.h b/MyDrivers/MyPWM.h
index 6702b92..562cb06 100644
--- a/MyDrivers/MyPWM.h
+++ b/MyDrivers/MyPWM.h
@@ -1,5 +1,7 @@
-#include "stm32f1xx_ll_bus.h" // Pour l'activation des horloges
-#include "stm32f1xx_ll_tim.h"
+#ifndef PWM_H
+#define PWM_H
+
+#include "stm32f103xb.h"
void MyPWM_Conf_Output(TIM_TypeDef * Timer, int channel);
@@ -7,3 +9,5 @@ void MyPWM_Conf_Output(TIM_TypeDef * Timer, int channel);
void MyPWM_Conf_Input(TIM_TypeDef * Timer, int channel1, int channel2);
void MyPWM_Set_Impulse_Duration(TIM_TypeDef * Timer, uint32_t CompareValue, int channel);
+
+#endif
diff --git a/Services/Moteur.c b/Services/Moteur.c
index 3a7e749..19640e9 100644
--- a/Services/Moteur.c
+++ b/Services/Moteur.c
@@ -1,13 +1,16 @@
+
#include "Moteur.h"
#include "MyPWM.h"
#include "MyTimer.h"
#include "stm32f1xx_ll_bus.h"
#include "stm32f1xx_ll_gpio.h"
+#include "stm32f1xx_ll_tim.h"
-//Fpwm = 10kHz
void Moteur_Conf(void) {
+
+ //Fpwm = 10kHz = 72Mhz/(7200 = 0x1C20)
int Arr = 0x1C1F;
int Psc = 0x0;
@@ -15,24 +18,26 @@ void Moteur_Conf(void) {
LL_APB2_GRP1_EnableClock(LL_APB2_GRP1_PERIPH_GPIOA);
//Config broche PA2 -> Sens
- LL_GPIO_InitTypeDef* My_GPIO_Init_Struct;
+ LL_GPIO_InitTypeDef My_GPIO_Init_Struct;
- LL_GPIO_StructInit(My_GPIO_Init_Struct);
+ LL_GPIO_StructInit(&My_GPIO_Init_Struct);
- My_GPIO_Init_Struct->Pin = LL_GPIO_PIN_2;
- My_GPIO_Init_Struct->Mode = LL_GPIO_MODE_OUTPUT;
- My_GPIO_Init_Struct->OutputType = LL_GPIO_OUTPUT_PUSHPULL;
+ My_GPIO_Init_Struct.Pin = PinSens;
+ My_GPIO_Init_Struct.Mode = LL_GPIO_MODE_OUTPUT;
+ My_GPIO_Init_Struct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
- LL_GPIO_Init(GPIOA, My_GPIO_Init_Struct);
+ LL_GPIO_Init(GPIOPins, &My_GPIO_Init_Struct);
//Config broche PA1 -> PWM
- LL_GPIO_StructInit(My_GPIO_Init_Struct);
+ LL_GPIO_StructInit(&My_GPIO_Init_Struct);
+
+ My_GPIO_Init_Struct.Pin = LL_GPIO_PIN_1;
+ My_GPIO_Init_Struct.Mode = LL_GPIO_MODE_ALTERNATE;
+ My_GPIO_Init_Struct.OutputType = LL_GPIO_OUTPUT_PUSHPULL;
+
+ LL_GPIO_Init(GPIOA, &My_GPIO_Init_Struct);
- My_GPIO_Init_Struct->Pin = LL_GPIO_PIN_1;
- My_GPIO_Init_Struct->Mode = LL_GPIO_MODE_ALTERNATE;
- My_GPIO_Init_Struct->OutputType = LL_GPIO_OUTPUT_PUSHPULL;
- LL_GPIO_Init(GPIOA, My_GPIO_Init_Struct);
//Activation horloge Timer
LL_APB1_GRP1_EnableClock(LL_APB1_GRP1_PERIPH_TIM2);
diff --git a/Services/Moteur.h b/Services/Moteur.h
index 69ccaae..32cdb88 100644
--- a/Services/Moteur.h
+++ b/Services/Moteur.h
@@ -1,3 +1,7 @@
+#ifndef MOTEUR_H
+#define MOTEUR_H
+
+#include "stm32f103xb.h"
#define PinSens LL_GPIO_PIN_2
#define PinPWM LL_GPIO_PIN_1
@@ -10,3 +14,5 @@ void Moteur_Conf(void);
void Moteur_Speed(int speedPercentage);
void Moteur_Sens(int sens);
+
+#endif
diff --git a/Src/main.c b/Src/main.c
index bf51d3f..64a2b92 100644
--- a/Src/main.c
+++ b/Src/main.c
@@ -45,13 +45,20 @@ int main(void)
//INIT GPIO MARCHE PAS->PB PIN
Moteur_Conf();
- Moteur_Speed(50);
- Moteur_Sens(1);
+ Moteur_Speed(30);
+ Moteur_Sens(0);
/* Infinite loop */
- while (1)
+ for (int i =0; i<0xFFFF; i++)
{
}
+
+ Moteur_Speed(60);
+ Moteur_Sens(1);
+
+ while (1)
+ {
+ }
}