be_chti/PjtKEIL_DFT_Signal_Reel/Src/principal.c
2021-08-22 13:23:14 +02:00

63 righe
1,3 KiB
C
File eseguibile

#include "DriverJeuLaser.h"
int DFT_ModuleAuCarre( short int * Signal64ech, char k);
extern short int LeSignal;
short int dma_buf[64];
int dft[64];
void Manage_Tick() {
Start_DMA1(64);
Wait_On_End_Of_DMA1();
Stop_DMA1;
for (int i = 0; i < 63; ++i){
dft[i] = DFT_ModuleAuCarre((short *)&dma_buf, i);
}
}
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 (tick tt les 5 ms avec un clock à 72MHz)
Systick_Period_ff( 360000 );
Systick_Prio_IT( 1, Manage_Tick );
SysTick_On;
SysTick_Enable_IT;
// ADC
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 );
//============================================================================
/*
/// Test
int dft[64];
int v = 0;
for (int i = 0; i < 63; ++i){
v = DFT_ModuleAuCarre(&LeSignal, i);
dft[i] = v;
//printf("%d\n", dft[i]);
}
*/
while (1)
{
}
}