From 5137bb9b95273b436644c9b064bae765d1be0347 Mon Sep 17 00:00:00 2001 From: Damien Caseau Date: Fri, 14 Apr 2023 18:12:18 +0200 Subject: [PATCH] =?UTF-8?q?StepSon=20PWN=204.4=20'Test=20du=20programme=20?= =?UTF-8?q?sur=20cible=20r=C3=A9elle'=20termin=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- dossier/soft/PjtKEIL_StepSon/PWM.asc | 68 +++++++++++++++++++ dossier/soft/PjtKEIL_StepSon/PWM.net | 16 +++++ dossier/soft/PjtKEIL_StepSon/Src/GestionSon.s | 7 +- dossier/soft/PjtKEIL_StepSon/Src/principal.c | 24 ++++++- dossier/soft/PjtKEIL_StepSon/StepSon.uvprojx | 15 ++++ 5 files changed, 128 insertions(+), 2 deletions(-) create mode 100644 dossier/soft/PjtKEIL_StepSon/PWM.asc create mode 100644 dossier/soft/PjtKEIL_StepSon/PWM.net diff --git a/dossier/soft/PjtKEIL_StepSon/PWM.asc b/dossier/soft/PjtKEIL_StepSon/PWM.asc new file mode 100644 index 0000000..5cbcda5 --- /dev/null +++ b/dossier/soft/PjtKEIL_StepSon/PWM.asc @@ -0,0 +1,68 @@ +Version 4 +SHEET 1 1084 820 +WIRE 208 16 96 16 +WIRE 784 16 208 16 +WIRE 944 16 864 16 +WIRE 1008 16 944 16 +WIRE -368 80 -512 80 +WIRE 96 96 96 16 +WIRE 944 144 944 16 +WIRE -512 176 -512 80 +WIRE 96 224 96 176 +WIRE 944 256 944 208 +WIRE -512 304 -512 256 +WIRE 96 384 -48 384 +WIRE -48 480 -48 384 +WIRE -48 608 -48 560 +FLAG -512 304 0 +FLAG -368 80 Compteur +FLAG 944 256 0 +FLAG 1008 16 Filtre +FLAG -48 608 0 +FLAG 96 384 CompValue +FLAG 208 16 PWM +FLAG 96 224 0 +SYMBOL voltage -512 160 R0 +WINDOW 3 -372 78 Left 2 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR Value PULSE(0 3.3 0 5u 0 0 5u) +SYMATTR InstName V1 +SYMBOL cap 928 144 R0 +SYMATTR InstName C1 +SYMATTR Value 10n +SYMBOL res 880 0 R90 +WINDOW 0 0 56 VBottom 2 +WINDOW 3 32 56 VTop 2 +SYMATTR InstName R1 +SYMATTR Value 3.9k +SYMBOL voltage -48 464 R0 +WINDOW 3 49 61 Left 2 +WINDOW 123 0 0 Left 0 +WINDOW 39 0 0 Left 0 +SYMATTR Value SINE(1.65 1 2k) +SYMATTR InstName V2 +SYMBOL bv 96 80 R0 +SYMATTR InstName B1 +SYMATTR Value V=if(V(CompValue)>V(Compteur),3.3,0) +TEXT 272 256 Left 2 !;ac dec 100 1 10meg +TEXT 272 296 Left 2 !.tran 0 1.5m 0 0.01u +TEXT -880 40 Left 2 ;Compteur de l'unité Timer +TEXT -96 -24 Left 2 ;Partie PWM de l'unité Timer +TEXT -904 -56 Left 4 ;TIMER3 +TEXT 688 80 Left 4 ;PB0 +TEXT 480 0 Left 2 ;Chanel 3 +TEXT 384 -168 Left 5 ;STM32F103 +LINE Normal 688 48 752 -16 +LINE Normal 688 -16 688 48 +LINE Normal 752 48 688 -16 +LINE Normal 752 48 752 48 +LINE Normal 720 -208 720 -16 +LINE Normal 256 -208 720 -208 +LINE Normal 720 784 720 48 +LINE Normal 720 784 720 784 +LINE Normal 720 816 720 784 +RECTANGLE Normal -192 352 -912 16 2 +RECTANGLE Normal 592 656 -128 -48 2 +RECTANGLE Normal 640 736 -976 -96 +RECTANGLE Normal 752 48 688 -16 diff --git a/dossier/soft/PjtKEIL_StepSon/PWM.net b/dossier/soft/PjtKEIL_StepSon/PWM.net new file mode 100644 index 0000000..6842c5e --- /dev/null +++ b/dossier/soft/PjtKEIL_StepSon/PWM.net @@ -0,0 +1,16 @@ +* U:\Documents\TP_Pioustolet\Partie ASM\grpE_RAMOUCHE_CASEAU\dossier\soft\PjtKEIL_StepSon\PWM.asc +V1 Compteur 0 PULSE(0 3.3 0 5u 0 0 5u) +C1 Filtre 0 10n +R1 Filtre PWM 3.9k +V2 CompValue 0 SINE(1.65 1 2k) +B1 PWM 0 V=if(V(CompValue)>V(Compteur),3.3,0) +;ac dec 100 1 10meg +.tran 0 1.5m 0 0.01u +* Compteur de l'unité Timer +* Partie PWM de l'unité Timer +* TIMER3 +* PB0 +* Chanel 3 +* STM32F103 +.backanno +.end diff --git a/dossier/soft/PjtKEIL_StepSon/Src/GestionSon.s b/dossier/soft/PjtKEIL_StepSon/Src/GestionSon.s index b60fd8a..bbe8f89 100644 --- a/dossier/soft/PjtKEIL_StepSon/Src/GestionSon.s +++ b/dossier/soft/PjtKEIL_StepSon/Src/GestionSon.s @@ -1,7 +1,9 @@ PRESERVE8 - THUMB + THUMB + ;include DriverJeuLaser.inc IMPORT Son IMPORT LongueurSon + IMPORT PWM_Set_Value_TIM3_Ch3 ; ====================== zone de réservation de données, ====================================== ;Section RAM (read only) : @@ -63,6 +65,9 @@ ALORS add r3, #1 ldr r2, =Index str r3, [r2] + ;Appel de la fonction modifiant le rapport cyclique + mov r0,r1 + bl PWM_Set_Value_TIM3_Ch3 FINSI diff --git a/dossier/soft/PjtKEIL_StepSon/Src/principal.c b/dossier/soft/PjtKEIL_StepSon/Src/principal.c index 3442433..60b31d8 100644 --- a/dossier/soft/PjtKEIL_StepSon/Src/principal.c +++ b/dossier/soft/PjtKEIL_StepSon/Src/principal.c @@ -13,6 +13,9 @@ CLOCK_Configure(); // configuration du Timer 4 en débordement 91µs Timer_1234_Init_ff(TIM4, 6552); //6552 équivalent à 91µs +// configuration du Timer 3 pour une PWM de fréquence 100kHz +PWM_Init_ff(TIM3, 3, 720); + //Récupération de la fonction timer_callback() codée en ASM extern void callbackson(); @@ -22,7 +25,11 @@ Timer_1234_Init_ff(TIM4, 6552); //6552 // Association de la fonction à exécuter lors de l'interruption : timer_callback // cette fonction (si écrite en ASM) doit être conforme à l'AAPCS -Active_IT_Debordement_Timer(TIM4, 2, callbackson); +Active_IT_Debordement_Timer(TIM4, 2, callbackson); + +// configuration de PortB.0 (PB0) +GPIO_Configure(GPIOB, 0, OUTPUT, ALT_PPULL); + //============================================================================ @@ -31,3 +38,18 @@ while (1) } } +/*char FlagCligno; + +void timer_callback(void) +{ + if (FlagCligno==1) + { + FlagCligno=0; + GPIOB_Set(1); + } + else + { + FlagCligno=1; + GPIOB_Clear(1); + } +}*/ \ No newline at end of file diff --git a/dossier/soft/PjtKEIL_StepSon/StepSon.uvprojx b/dossier/soft/PjtKEIL_StepSon/StepSon.uvprojx index 2849fe6..f62bcd5 100644 --- a/dossier/soft/PjtKEIL_StepSon/StepSon.uvprojx +++ b/dossier/soft/PjtKEIL_StepSon/StepSon.uvprojx @@ -408,6 +408,11 @@ 4 .\Driver\DriverJeuLaser.lib + + DriverJeuLaser.inc + 5 + .\Driver\DriverJeuLaser.inc + @@ -832,6 +837,11 @@ 4 .\Driver\DriverJeuLaser.lib + + DriverJeuLaser.inc + 5 + .\Driver\DriverJeuLaser.inc + @@ -1325,6 +1335,11 @@ 4 .\Driver\DriverJeuLaser.lib + + DriverJeuLaser.inc + 5 + .\Driver\DriverJeuLaser.inc +