From a5cd0f0aee7be5fa089b622985e97ddf74de6825 Mon Sep 17 00:00:00 2001 From: Remi Pitault Date: Wed, 12 Apr 2023 15:18:56 +0200 Subject: [PATCH] debut stepdft FIX MUL FORMAT 1.15 --- soft/PjtKEIL_StepDFT/Src/DFT.s | 18 ++++++++++++++++- soft/PjtKEIL_StepDFT/Src/principal.c | 12 +++++++---- soft/PjtKEIL_StepDFT/StepDFT.uvoptx | 28 ++++++++++++++++++++++++-- soft/PjtKEIL_StepDFT/StepDFT.uvprojx | 30 ++++++++++++++++++++++++++++ 4 files changed, 81 insertions(+), 7 deletions(-) diff --git a/soft/PjtKEIL_StepDFT/Src/DFT.s b/soft/PjtKEIL_StepDFT/Src/DFT.s index 3f6b5d4..9fc6bc6 100644 --- a/soft/PjtKEIL_StepDFT/Src/DFT.s +++ b/soft/PjtKEIL_StepDFT/Src/DFT.s @@ -22,7 +22,23 @@ ; écrire le code ici - +DFT_ModuleAuCarre PROC + push {r4, r5} + mov r7, #0 + mov r5, #0 + ldr r3, =TabCos ; r3 = &TabCos[0]; +Loop + ldrsh r2, [r3], #2 ; r2 = TabCos[i++] + ldrsh r4, [r0], #2 ; r5 = Signal[i++] + add r5, #1 ; i++; + mul r2, r4 ; r3 = Signal[i] * TabCos[i]; + mul r2, r1 ; r3 = Signal[i] * TabCos[i] * k; + add r7, r2 + cmp r5, #64 + blt Loop + pop {r4, r5} + bx lr + ENDP ;Section ROM code (read only) : diff --git a/soft/PjtKEIL_StepDFT/Src/principal.c b/soft/PjtKEIL_StepDFT/Src/principal.c index d09be75..77395db 100644 --- a/soft/PjtKEIL_StepDFT/Src/principal.c +++ b/soft/PjtKEIL_StepDFT/Src/principal.c @@ -1,7 +1,8 @@ - - #include "DriverJeuLaser.h" +extern void DFT_ModuleAuCarre(short int* Signal64ech, char k); +extern int16_t* LeSignal; + int main(void) @@ -14,15 +15,18 @@ int main(void) // Après exécution : le coeur CPU est clocké à 72MHz ainsi que tous les timers CLOCK_Configure(); - //============================================================================ - +int once = 1; while (1) { + if (once) { + once = 0; + DFT_ModuleAuCarre(LeSignal, 1); + } } diff --git a/soft/PjtKEIL_StepDFT/StepDFT.uvoptx b/soft/PjtKEIL_StepDFT/StepDFT.uvoptx index 0d72cfc..b329156 100644 --- a/soft/PjtKEIL_StepDFT/StepDFT.uvoptx +++ b/soft/PjtKEIL_StepDFT/StepDFT.uvoptx @@ -624,6 +624,30 @@ 0 0 + + 1 + 2 + 2 + 0 + 0 + 0 + .\Src\DFT.s + DFT.s + 0 + 0 + + + 1 + 3 + 2 + 0 + 0 + 0 + .\Src\Signal.asm + Signal.asm + 0 + 0 + @@ -634,7 +658,7 @@ 0 2 - 2 + 4 2 0 0 @@ -654,7 +678,7 @@ 0 3 - 3 + 5 4 0 0 diff --git a/soft/PjtKEIL_StepDFT/StepDFT.uvprojx b/soft/PjtKEIL_StepDFT/StepDFT.uvprojx index 9031782..63375da 100644 --- a/soft/PjtKEIL_StepDFT/StepDFT.uvprojx +++ b/soft/PjtKEIL_StepDFT/StepDFT.uvprojx @@ -388,6 +388,16 @@ 1 .\Src\principal.c + + DFT.s + 2 + .\Src\DFT.s + + + Signal.asm + 2 + .\Src\Signal.asm + @@ -797,6 +807,16 @@ 1 .\Src\principal.c + + DFT.s + 2 + .\Src\DFT.s + + + Signal.asm + 2 + .\Src\Signal.asm + @@ -1275,6 +1295,16 @@ 1 .\Src\principal.c + + DFT.s + 2 + .\Src\DFT.s + + + Signal.asm + 2 + .\Src\Signal.asm +