diff options
Diffstat (limited to 'src/stmf0/ao_adc_fast.c')
| -rw-r--r-- | src/stmf0/ao_adc_fast.c | 10 | 
1 files changed, 5 insertions, 5 deletions
| diff --git a/src/stmf0/ao_adc_fast.c b/src/stmf0/ao_adc_fast.c index 26e6691c..f6740b0e 100644 --- a/src/stmf0/ao_adc_fast.c +++ b/src/stmf0/ao_adc_fast.c @@ -83,7 +83,6 @@ void  ao_adc_init(void)  {  	uint32_t	chselr; -	int		i;  	/* Reset ADC */  	stm_rcc.apb2rstr |= (1 << STM_RCC_APB2RSTR_ADCRST); @@ -157,12 +156,13 @@ ao_adc_init(void)  	/* Shortest sample time */  	stm_adc.smpr = STM_ADC_SMPR_SMP_1_5 << STM_ADC_SMPR_SMP; +	/* Turn off enable and start */ +	stm_adc.cr &= ~((1 << STM_ADC_CR_ADEN) | (1 << STM_ADC_CR_ADSTART)); +  	/* Calibrate */  	stm_adc.cr |= (1 << STM_ADC_CR_ADCAL); -	for (i = 0; i < 0xf000; i++) { -		if ((stm_adc.cr & (1 << STM_ADC_CR_ADCAL)) == 0) -			break; -	} +	while ((stm_adc.cr & (1 << STM_ADC_CR_ADCAL)) != 0) +		;  	/* Enable */  	stm_adc.cr |= (1 << STM_ADC_CR_ADEN); | 
