From 9b83a78a05b532a3d3f4e19ff1d99e501af27dec Mon Sep 17 00:00:00 2001 From: cho45 Date: Fri, 30 Aug 2019 14:18:29 +0900 Subject: [PATCH] forllow cal adc / enable adc code to manual rev9 --- adc.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/adc.c b/adc.c index 04b2f0b..be65e46 100644 --- a/adc.c +++ b/adc.c @@ -31,13 +31,26 @@ void adc_init(void) { rccEnableADC1(FALSE); + /* Ensure flag states */ + ADC1->IER = 0; + /* Calibration procedure.*/ ADC->CCR = 0; + if (ADC1->CR & ADC_CR_ADEN) { + ADC1->CR |= ~ADC_CR_ADDIS; /* Disable ADC */ + } + while (ADC1->CR & ADC_CR_ADEN) + ; + ADC1->CFGR1 &= ~ADC_CFGR1_DMAEN; ADC1->CR |= ADC_CR_ADCAL; while (ADC1->CR & ADC_CR_ADCAL) ; - ADC1->CR = ADC_CR_ADEN; + if (ADC1->ISR & ADC_ISR_ADRDY) { + ADC1->ISR |= ADC_ISR_ADRDY; /* clear ADRDY */ + } + /* Enable ADC */ + ADC1->CR |= ADC_CR_ADEN; while (!(ADC1->ISR & ADC_ISR_ADRDY)) ; }