grpC_Nguyen_Zhang/soft/PjtKEIL_StepSon/Src/principal.c
2023-04-21 18:21:03 +02:00

46 lines
1.2 KiB
C

#include "DriverJeuLaser.h"
#define Periode_en_Tck PeriodeSonMicroSec*72 //4536 // T/T0 ici 63u
#define Periode_PWM_en_Tck 720 // 10u // plus ou moins 6.3u
extern short Son;
extern int LongueurSon;
extern int PeriodeSonMicroSec;
extern void StartSon(void);
void CallbackSon(void);
int main(void)
{
// Initialisation de taille et son pour le variable etat
int resolution;
//function StartSon
StartSon();
// Activation de la PLL qui multiplie la fréquence du quartz par 9
CLOCK_Configure();
// Config port PB1 pour être utilisé en sortie
GPIO_Configure(GPIOB, 0, OUTPUT, ALT_PPULL);
// Config TIM3-CH3 en mode PWM
resolution = PWM_Init_ff(TIM3, 3, Periode_PWM_en_Tck);
// Initialisation du timer 4
// Periode_en_Tck doit fournir la duréé interruptique;
// exprimée en période Tck de l'horloge principale du STM32 (72Mhz)
Timer_1234_Init_ff(TIM4, PeriodeSonMicroSec);
// enregistrement de la fonction de traitement de l'interruption timer
// avec la priorité 2, timer_callback est l'adresse de cette fonction, a crée en asm,
// cette fonction doit être conforme à l'AACPS
Active_IT_Debordement_Timer(TIM4, 2, CallbackSon);
//Lancement du timer
Run_Timer(TIM4);
Run_Timer(TIM3);
while (1)
{
}
}