diff --git a/Activite_2_1/Project.uvoptx b/Activite_2_1/Project.uvoptx index 979fd46..baa2653 100644 --- a/Activite_2_1/Project.uvoptx +++ b/Activite_2_1/Project.uvoptx @@ -170,22 +170,6 @@ \\CHTI\Src/principal.c\16 - - 1 - 0 - 22 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - .\Src\principal.c - - -
diff --git a/Activite_2_1/Src/calculCarre.s b/Activite_2_1/Src/calculCarre.s index ddc4c6e..325a1aa 100644 --- a/Activite_2_1/Src/calculCarre.s +++ b/Activite_2_1/Src/calculCarre.s @@ -13,8 +13,8 @@ calcul_carre proc ldr r4, =TabCos ;on charge les tables sin et cos ldr r5, =TabSin - ldrh r1, [r4, r0, LSL #1] ;on récupère la i-ème valeur de chacune des tables - ldrh r2, [r5, r0, LSL #1] + ldrsh r1, [r4, r0, LSL #1] ;on récupère la i-ème valeur de chacune des tables + ldrsh r2, [r5, r0, LSL #1] mul r1, r1, r1 ;on calcule cos² diff --git a/Activite_2_2/Project.uvoptx b/Activite_2_2/Project.uvoptx index 4c33385..6226363 100644 --- a/Activite_2_2/Project.uvoptx +++ b/Activite_2_2/Project.uvoptx @@ -157,73 +157,9 @@ 0 0 - 56 - 1 -
134225642
- 0 - 0 - 0 - 0 - 0 - 1 - .\Src\calcul_dft.s - - \\CHTI\Src/calcul_dft.s\56 -
- - 1 - 0 - 28 - 1 -
134225588
- 0 - 0 - 0 - 0 - 0 - 1 - .\Src\calcul_dft.s - - \\CHTI\Src/calcul_dft.s\28 -
- - 2 - 0 - 27 - 1 -
134225586
- 0 - 0 - 0 - 0 - 0 - 1 - .\Src\calcul_dft.s - - \\CHTI\Src/calcul_dft.s\27 -
- - 3 - 0 - 23 - 1 -
134225578
- 0 - 0 - 0 - 0 - 0 - 1 - .\Src\calcul_dft.s - - \\CHTI\Src/calcul_dft.s\23 -
- - 4 - 0 18 1 -
134225570
+
134225582
0 0 0 @@ -235,91 +171,27 @@ \\CHTI\Src/calcul_dft.s\18
- 5 + 1 0 - 18 + 25 1 -
134225484
+
134225594
0 0 0 0 0 1 - .\Src\principal.c - - \\CHTI\Src/principal.c\18 -
- - 6 - 0 - 30 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 .\Src\calcul_dft.s - -
- - 7 - 0 - 57 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - .\Src\calcul_dft.s - - -
- - 8 - 0 - 58 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - .\Src\calcul_dft.s - - -
- - 9 - 0 - 60 - 1 -
0
- 0 - 0 - 0 - 0 - 0 - 0 - .\Src\calcul_dft.s - - + \\CHTI\Src/calcul_dft.s\25
0 1 - tab + res_dft 1 diff --git a/Activite_2_2/Src/calcul_dft.s b/Activite_2_2/Src/calcul_dft.s index f0bd096..fd613db 100644 --- a/Activite_2_2/Src/calcul_dft.s +++ b/Activite_2_2/Src/calcul_dft.s @@ -30,7 +30,7 @@ calcul_dft proc endp calcul_partie_dft proc - push {lr,r4-r7} + push {r4-r7} mov r4, r0 ;chargement de TabSig dans r4 @@ -40,6 +40,7 @@ calcul_partie_dft proc mov r3, #0 ;i=0 dans r3 mov r0, #0 ;resultat de la somme dans r0 + boucle ldrh r1, [r4, r3, LSL #1] ;chargement de x(i) ldrsh r2, [r5, r7, LSL #1] ;chargement de cos(ik..), ldrs(!)h tres important, ne fonctionne pas sinon @@ -55,7 +56,7 @@ boucle ldrh r1, [r4, r3, LSL #1] ;chargement de x(i) sortie - pop {lr,r4-r7} + pop {r4-r7} bx lr endp diff --git a/Activite_2_2/Src/principal.c b/Activite_2_2/Src/principal.c index 79ac973..8d1ed71 100644 --- a/Activite_2_2/Src/principal.c +++ b/Activite_2_2/Src/principal.c @@ -7,13 +7,14 @@ int etat = 0x00020000; extern int calcul_carre(int); extern int calcul_dft(short *, int); -int res_dft; +int res_dft[64]; int main(void) { - res_dft = calcul_dft(TabSig,1); - + for(int k=0; k<64; k++){ + res_dft[k] = calcul_dft(TabSig,k); + } u32 Periode_en_Tck = 7200000;