be_chti/DFT_Signal_Reel/Src/principal.c
2023-05-09 17:55:31 +02:00

60 lines
1.5 KiB
C

#include "DriverJeuLaser.h"
extern int DFT_ModuleAucarre_Reel(short int * Signal64ech, char k);
extern int DFT_ModuleAucarre_Im(short int * Signal64ech, char k);
extern int DFT_ModuleAuCarre (short int * Signal64ech, char k);
extern short int LeSignal[64];
//int DFT_ModuleAuCarre_C( short int * Signal64ech, char k){
// int somme_cos, somme_sin;
// for(int n = 0; n<63; n++){
// somme_cos += TabCos[n];
// somme_sin += TabSin[n];
// }
// int somme_k = (int) (long long) somme_cos* (int) (long long) somme_cos + (int) (long long) somme_sin* (int) (long long) somme_sin;
// return somme_k;
//}
int Resultat[64];
short dma_buf[64];
void callback_Systick(){
Start_DMA1(64);
Wait_On_End_Of_DMA1();
Stop_DMA1;
for (int k =0; k <64; k++){
Resultat[k] = DFT_ModuleAuCarre(dma_buf,k);
}
}
int main(void)
{
// ===========================================================================
// ============= INIT PERIPH (faites qu'une seule fois) =====================
// ===========================================================================
// Après exécution : le coeur CPU est clocké à 72MHz ainsi que tous les timers
CLOCK_Configure();
Systick_Period_ff(360000);
Systick_Prio_IT(2, callback_Systick);
SysTick_On;
SysTick_Enable_IT;
Init_TimingADC_ActiveADC_ff( ADC1, 72 );
Single_Channel_ADC( ADC1, 2 );
Init_Conversion_On_Trig_Timer_ff( ADC1, TIM2_CC2, 225 );
Init_ADC1_DMA1( 0, dma_buf);
//============================================================================
while (1)
{
}
}