CHti23/BE-chti C/soft/DFT_Signal_Reel/Src/principal.c
2023-05-16 18:17:02 +02:00

61 lines
No EOL
1.3 KiB
C

#include "DriverJeuLaser.h"
extern short LeSignal;
extern int DFT_ModuleAuCarre(short int *Signal64ech, char k);
int S[64];
short dma_buf[64]; //Pour stocker les valeurs prises par l'adc
void Callback_Systick (){
Start_DMA1(64); //demarrage de l'echantillage de 64 points
Wait_On_End_Of_DMA1();
Stop_DMA1;
for (int k= 0; k < 64; ++k) {
S[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();
//configuration du timer Systick
Systick_Period_ff( 360000 ); // a/(72*10**6) =5 ms
Systick_Prio_IT( 2, Callback_Systick );
SysTick_On ;
SysTick_Enable_IT ;
//configuration pour ADC1 et DMA
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 );
/*or (int k= 0; k < 64; ++k) {
S[k] = DFT_ModuleAuCarre(&LeSignal, k);
} */
//============================================================================
while (1)
{
}
}