From 7e19976938bfef5e602afa04a0feeff196cb9189 Mon Sep 17 00:00:00 2001 From: Louis Rousset Date: Tue, 11 Apr 2023 14:16:32 +0200 Subject: [PATCH] =?UTF-8?q?Mettre=20=C3=A0=20jour=20'Drivers/Sources/Drive?= =?UTF-8?q?r=5FADC.c'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Drivers/Sources/Driver_ADC.c | 36 ++++++++++++++++++------------------ 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/Drivers/Sources/Driver_ADC.c b/Drivers/Sources/Driver_ADC.c index 8e3db1b..17cc84e 100644 --- a/Drivers/Sources/Driver_ADC.c +++ b/Drivers/Sources/Driver_ADC.c @@ -2,29 +2,29 @@ #include "Driver_GPIO.h" -void (*PtrfctADC)(void); //Déclaration du pointeur de fonction ADC +void (*PtrfctADC)(void); /* Déclaration du pointeur de fonction ADC pour l'interrupt */ //---------------------INIT-------------------// void MyADC_Base_Init(MyADC_Struct_TypeDef * ADC){ - MyGPIO_Struct_TypeDef * GPIO_ADC; //Déclaration du GPIO de l'ADC + MyGPIO_Struct_TypeDef * GPIO_ADC; /* Déclaration du GPIO lié à l'ADC */ - RCC->CFGR |= RCC_CFGR_ADCPRE_DIV6; //Division par 6 de la clock (72MHz) pour l'ADC (12MHz) - RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; //Start clock ADC1 + RCC->CFGR |= RCC_CFGR_ADCPRE_DIV6; /*Division par 6 de la clock (72MHz) pour l'ADC (12MHz) car clock max ADC : 14MHz */ + RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; /* Start clock de l'ADC1 */ - GPIO_ADC->GPIO = GPIOC; //Initialisation du GPIO de l'ADC + GPIO_ADC->GPIO = GPIOC; /* Initialisation du GPIO lié à l'ADC */ GPIO_ADC->GPIO_Conf = In_Analog; GPIO_ADC->GPIO_Pin = 0; MyGPIO_Init(GPIO_ADC); - ADC1->SQR1 &= ADC_SQR1_L; //fixe le nombre de conversion à 1 - ADC1->SQR3|= ADC->Channel; //indique la voie à convertir - ADC1->CR2 |= ADC_CR2_EXTTRIG; //activation du trigger externe - ADC1->CR2 |= ADC_CR2_EXTSEL; //event externe choisis : SWSTART + ADC1->SQR1 &= ADC_SQR1_L; /* Fixation du nombre de conversion à 1 */ + ADC1->SQR3|= ADC->Channel; /* Choix de la voie à convertir */ + ADC1->CR2 |= ADC_CR2_EXTTRIG; /* Activation du trigger externe */ + ADC1->CR2 |= ADC_CR2_EXTSEL; /* event externe choisis : SWSTART */ - MyADC_Base_Start(ADC->ADC); //Sart ADC1 et Horloge ADC1 + MyADC_Base_Start(ADC->ADC); /* Sart ADC1 et Horloge ADC1 */ } @@ -36,25 +36,25 @@ void MyADC_Base_Start(ADC_TypeDef * ADC){ //------------------INTERRUPTION--------------// void MyADC_Base_Interuption(ADC_TypeDef * ADC){ - //Activation du trigger externe - ADC->CR1 |= ADC_CR1_EOCIE; //Interruption de l'ADC autorisée - NVIC->ISER[0] |= (0x1<IP[ADC1_2_IRQn] |= 1<<4; //Affectation du niveau de priorité + /* Activation du trigger externe */ + ADC->CR1 |= ADC_CR1_EOCIE; /* Interruption de l'ADC autorisée */ + NVIC->ISER[0] |= (0x1<IP[ADC1_2_IRQn] |= 1<<4; /* Affectation du niveau de priorité */ } //--------------------HANDLER-----------------// void ADC1_2_IRQHandler (void) { - (*PtrfctADC)(); //Appel de la fonction pointée par le pointeur fonction ADC + (*PtrfctADC)(); /* Appel de la fonction pointée par le pointeur fonction ADC */ MyADC_Base_Start(ADC1); - ADC1->SR &= ~ADC_SR_EOC; //RAZ du flag end of conversion + ADC1->SR &= ~ADC_SR_EOC; /* RAZ du flag de fin de conversion */ } //--------------------DATA--------------------// int MyADC_Base_Result (MyADC_Struct_TypeDef * ADC){ - return ADC1->DR & ~((0x0F)<<12); //Retour de la conversion de l'ADC + return ADC1->DR & ~((0x0F)<<12); /* Récuperation du résultat de la conversion de l'ADC */ } //-------------------POINTEUR-----------------// void MyADC_Init_Periph (void (*fct)(void)){ - PtrfctADC=fct; //Affectation du pointeur de fonction ADC + PtrfctADC=fct; /* Affectation du pointeur de fonction ADC */ }