diff --git a/Project.uvoptx b/Project.uvoptx
index 5a528a0..e5e1010 100644
--- a/Project.uvoptx
+++ b/Project.uvoptx
@@ -157,9 +157,9 @@
0
0
- 59
+ 29
1
- 134218250
+ 134227768
0
0
0
@@ -168,23 +168,55 @@
1
.\Src\calcul_dft.s
- \\CHTI\Src/calcul_dft.s\59
+ \\CHTI\Src/calcul_dft.s\29
1
0
- 28
+ 42
1
- 134218196
+ 134227652
0
0
0
0
0
1
- .\Src\calcul_dft.s
+ .\Src\principal.c
- \\CHTI\Src/calcul_dft.s\28
+ \\CHTI\Src/principal.c\42
+
+
+ 2
+ 0
+ 37
+ 1
+ 134227626
+ 0
+ 0
+ 0
+ 0
+ 0
+ 1
+ .\Src\principal.c
+
+ \\CHTI\Src/principal.c\37
+
+
+ 3
+ 0
+ 62
+ 1
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ 0
+ .\Src\principal.c
+
+
@@ -203,7 +235,7 @@
1
10
- 0x08001F30
+ 0x20000250
0
@@ -348,18 +380,6 @@
0
0
-
- 3
- 6
- 2
- 0
- 0
- 0
- .\Src\signal.s
- signal.s
- 0
- 0
-
diff --git a/Project.uvprojx b/Project.uvprojx
index fcc4948..c44476a 100644
--- a/Project.uvprojx
+++ b/Project.uvprojx
@@ -338,7 +338,7 @@
--C99
STM32F103xB,USE_FULL_LL_DRIVER
- ..\GASSP72
+ ../GFSSP72
@@ -417,11 +417,6 @@
2
.\Src\table_sin_cos.s
-
- signal.s
- 2
- .\Src\signal.s
-
diff --git a/Src/calcul_dft.s b/Src/calcul_dft.s
index fd613db..87b5899 100644
--- a/Src/calcul_dft.s
+++ b/Src/calcul_dft.s
@@ -4,6 +4,7 @@
export calcul_dft
import TabCos
import TabSin
+
;
diff --git a/Src/principal.c b/Src/principal.c
index 3733394..b2d35ad 100644
--- a/Src/principal.c
+++ b/Src/principal.c
@@ -1,18 +1,94 @@
#include "gassp72.h"
+#include
+#include
+#include
-extern void timer_callback(void);
+#define taille 6
+#define SYSTICK_PER 360000 // (360000 ticks équivaut à 5ms)
+
extern short TabSig[];
int etat = 0x00020000;
extern int calcul_carre(int);
-extern int calcul_dft(short *, int);
-int res_dft[64];
+extern int calcul_dft(unsigned short *, int);
+
+
+int res_dft = 0;
+unsigned short dma_buf[64];
+int compteurs[taille];
+int scores[taille];
+int k_values[] = {17,18,19,20,23,24};
+int M2TIR = 985507;
+
+
+
+void checkCounter(void){
+ for(int i=0; i M2TIR){
+ compteurs[i]++;
+ }else{
+ compteurs[i] = 0;
+ }
+ }
+
+ checkCounter();
+
+
+}
int main(void)
{
- for(int k=0; k<64; k++){
- res_dft[k] = calcul_dft(TabSig,k);
+ for(int i=0; i<6; i++){
+ compteurs[i] = 0;
+ scores[i] = 0 ;
}
+
+
+
+ // activation de la PLL qui multiplie la fréquence du quartz par 9
+ CLOCK_Configure();
+ // PA2 (ADC voie 2) = entrée analog
+ GPIO_Configure(GPIOA, 2, INPUT, ANALOG);
+ // PB1 = sortie pour profilage à l'oscillo
+ GPIO_Configure(GPIOB, 1, OUTPUT, OUTPUT_PPULL);
+ // PB14 = sortie pour LED
+ GPIO_Configure(GPIOB, 14, OUTPUT, OUTPUT_PPULL);
+
+ // activation ADC, sampling time 1us
+ Init_TimingADC_ActiveADC_ff( ADC1, 0x33 );
+ Single_Channel_ADC( ADC1, 2 );
+ // Déclenchement ADC par timer2, periode (72MHz/320kHz)ticks
+ Init_Conversion_On_Trig_Timer_ff( ADC1, TIM2_CC2, 225 );
+ // Config DMA pour utilisation du buffer dma_buf (a créér)
+ Init_ADC1_DMA1( 0, dma_buf );
+
+ // Config Timer, période exprimée en périodes horloge CPU (72 MHz)
+ Systick_Period_ff( SYSTICK_PER );
+ // enregistrement de la fonction de traitement de l'interruption timer
+ // ici le 3 est la priorité, sys_callback est l'adresse de cette fonction, a créér en C
+ Systick_Prio_IT( 3, sys_callback );
+ SysTick_On;
+ SysTick_Enable_IT;
+
+ while(1){
+
+ }
+
}
diff --git a/Src/signal.s b/Src/signal.s
deleted file mode 100644
index 46ce7e5..0000000
--- a/Src/signal.s
+++ /dev/null
@@ -1,76 +0,0 @@
- AREA Signal, DATA, READONLY
- export TabSig
-; fonction cosinus, frequence relative 1, phase -45 degres, amplitude max
-; valeurs attendues pour k = 1 :
-; Re 0x5A82562C env +sqrt(0.5) * 2^31
-; Im 0x5A82562C env +sqrt(0.5) * 2^31
-; M2 0x3FFFCDE5 env 2^30
-; pour 1 < k < 63
-; M2 < 0x0000000F
-
-TabSig
- dcw 0x0da8 ; 0 3496 0.85352
- dcw 0x0e2f ; 1 3631 0.88647
- dcw 0x0ea7 ; 2 3751 0.91577
- dcw 0x0f0e ; 3 3854 0.94092
- dcw 0x0f64 ; 4 3940 0.96191
- dcw 0x0fa8 ; 5 4008 0.97852
- dcw 0x0fd9 ; 6 4057 0.99048
- dcw 0x0ff6 ; 7 4086 0.99756
- dcw 0x0fff ; 8 4095 0.99976
- dcw 0x0ff6 ; 9 4086 0.99756
- dcw 0x0fd9 ; 10 4057 0.99048
- dcw 0x0fa8 ; 11 4008 0.97852
- dcw 0x0f64 ; 12 3940 0.96191
- dcw 0x0f0e ; 13 3854 0.94092
- dcw 0x0ea7 ; 14 3751 0.91577
- dcw 0x0e2f ; 15 3631 0.88647
- dcw 0x0da8 ; 16 3496 0.85352
- dcw 0x0d13 ; 17 3347 0.81714
- dcw 0x0c72 ; 18 3186 0.77783
- dcw 0x0bc5 ; 19 3013 0.73560
- dcw 0x0b10 ; 20 2832 0.69141
- dcw 0x0a53 ; 21 2643 0.64526
- dcw 0x0990 ; 22 2448 0.59766
- dcw 0x08c9 ; 23 2249 0.54907
- dcw 0x0800 ; 24 2048 0.50000
- dcw 0x0737 ; 25 1847 0.45093
- dcw 0x0670 ; 26 1648 0.40234
- dcw 0x05ad ; 27 1453 0.35474
- dcw 0x04f0 ; 28 1264 0.30859
- dcw 0x043b ; 29 1083 0.26440
- dcw 0x038e ; 30 910 0.22217
- dcw 0x02ed ; 31 749 0.18286
- dcw 0x0258 ; 32 600 0.14648
- dcw 0x01d1 ; 33 465 0.11353
- dcw 0x0159 ; 34 345 0.08423
- dcw 0x00f2 ; 35 242 0.05908
- dcw 0x009c ; 36 156 0.03809
- dcw 0x0058 ; 37 88 0.02148
- dcw 0x0027 ; 38 39 0.00952
- dcw 0x000a ; 39 10 0.00244
- dcw 0x0000 ; 40 0 0.00000
- dcw 0x000a ; 41 10 0.00244
- dcw 0x0027 ; 42 39 0.00952
- dcw 0x0058 ; 43 88 0.02148
- dcw 0x009c ; 44 156 0.03809
- dcw 0x00f2 ; 45 242 0.05908
- dcw 0x0159 ; 46 345 0.08423
- dcw 0x01d1 ; 47 465 0.11353
- dcw 0x0258 ; 48 600 0.14648
- dcw 0x02ed ; 49 749 0.18286
- dcw 0x038e ; 50 910 0.22217
- dcw 0x043b ; 51 1083 0.26440
- dcw 0x04f0 ; 52 1264 0.30859
- dcw 0x05ad ; 53 1453 0.35474
- dcw 0x0670 ; 54 1648 0.40234
- dcw 0x0737 ; 55 1847 0.45093
- dcw 0x0800 ; 56 2048 0.50000
- dcw 0x08c9 ; 57 2249 0.54907
- dcw 0x0990 ; 58 2448 0.59766
- dcw 0x0a53 ; 59 2643 0.64526
- dcw 0x0b10 ; 60 2832 0.69141
- dcw 0x0bc5 ; 61 3013 0.73560
- dcw 0x0c72 ; 62 3186 0.77783
- dcw 0x0d13 ; 63 3347 0.81714
- end