StepSon PWN 4.4 'Test du programme sur cible réelle' terminé

This commit is contained in:
Damien Caseau 2023-04-14 18:12:18 +02:00
джерело 6c2fdcf46f
коміт 5137bb9b95
5 змінених файлів з 128 додано та 2 видалено

68
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

16
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

@ -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

@ -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);
}
}*/

@ -408,6 +408,11 @@
<FileType>4</FileType>
<FilePath>.\Driver\DriverJeuLaser.lib</FilePath>
</File>
<File>
<FileName>DriverJeuLaser.inc</FileName>
<FileType>5</FileType>
<FilePath>.\Driver\DriverJeuLaser.inc</FilePath>
</File>
</Files>
</Group>
<Group>
@ -832,6 +837,11 @@
<FileType>4</FileType>
<FilePath>.\Driver\DriverJeuLaser.lib</FilePath>
</File>
<File>
<FileName>DriverJeuLaser.inc</FileName>
<FileType>5</FileType>
<FilePath>.\Driver\DriverJeuLaser.inc</FilePath>
</File>
</Files>
</Group>
<Group>
@ -1325,6 +1335,11 @@
<FileType>4</FileType>
<FilePath>.\Driver\DriverJeuLaser.lib</FilePath>
</File>
<File>
<FileName>DriverJeuLaser.inc</FileName>
<FileType>5</FileType>
<FilePath>.\Driver\DriverJeuLaser.inc</FilePath>
</File>
</Files>
</Group>
<Group>