doc + ADC
This commit is contained in:
parent
0a3d76359a
commit
f34021bd5f
2 changed files with 45 additions and 0 deletions
18
Drivers/MyADC.c
Normal file
18
Drivers/MyADC.c
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
#include "MyADC.h"
|
||||||
|
|
||||||
|
void MyADC_Init ( char input_channel ) {
|
||||||
|
RCC->APB2ENR |= RCC_APB2ENR_ADC1EN; // Active l'horloge de l'ADC
|
||||||
|
RCC->CFGR |= RCC_CFGR_ADCPRE_DIV6; // Divise par 6 la fréquence d'entrée qui doit être < 14 MHz
|
||||||
|
ADC1->CR2|= ADC_CR2_ADON; // Active l'ADC
|
||||||
|
ADC1->SQR1 &= ADC_SQR1_L; // 1 voie à convertir
|
||||||
|
ADC1->SQR3|= input_channel; // sélectionne la voie à convertir
|
||||||
|
//ADC1->CR2 |= ADC_CR2_CAL; // début de la calibration
|
||||||
|
//while (ADC1->CR2 & ADC_CR2_CAL); // attente de la fin de la calibration
|
||||||
|
}
|
||||||
|
|
||||||
|
int convert_single(){
|
||||||
|
ADC1->CR2 |= ADC_CR2_ADON; // lancement de la conversion
|
||||||
|
while(!(ADC1->SR & ADC_SR_EOC) ) {} // attente de la fin de conversion
|
||||||
|
ADC1->SR &= ~ADC_SR_EOC; // validation de la conversion
|
||||||
|
return ADC1->DR ;//& ~((0x0F) << 12); // retour de la conversion
|
||||||
|
}
|
27
Drivers/MyADC.h
Normal file
27
Drivers/MyADC.h
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
#ifndef MYADC_H
|
||||||
|
#define MYADC_H
|
||||||
|
#include "stm32f10x.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*****************************************************************************************
|
||||||
|
* @brief
|
||||||
|
* @param -> - char input_channel : de 0 à 17
|
||||||
|
* @Note ->
|
||||||
|
*************************************************************************************************
|
||||||
|
*/
|
||||||
|
void MyADC_Init ( char input_channel);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
*****************************************************************************************
|
||||||
|
* @brief
|
||||||
|
* @param -> - char input_channel : de 0 à 17
|
||||||
|
* @Note -> Débute la conversion et retourne son résultat.
|
||||||
|
La fonction MyADC_Init doit avoir été lancée au préalable.
|
||||||
|
*************************************************************************************************
|
||||||
|
*/
|
||||||
|
int convert_single(void);
|
||||||
|
|
||||||
|
#endif
|
Loading…
Reference in a new issue