/** * @brief Main program. * @param None * @retval None */ int main(void) { /*!< At this stage the microcontroller clock setting is already configured, this is done through SystemInit() function which is called from startup file (startup_stm32f072xb.s) before to branch to application main. To reconfigure the default setting of SystemInit() function, refer to system_stm32f0xx.c file PLL is set to x12 with a PREDIV /2 so the system clock SYSCLK = 48MHz */ ConfigureGPIO(); SetClockForADC(); CalibrateADC(); ConfigureGPIOforADC(); EnableADC(); ConfigureADC(); ConfigureDMA(); ADC1->CR |= ADC_CR_ADSTART; /* start the ADC conversions */ GPIOC->BSRR = (1<<9); /* switch on the green led */ __WFI(); /* No interrupt should occur, as only error could trigger an interrupt */ GPIOC->BRR = (1<<9); /* switch off the green led */ DisableADC(); SysTick_Config(48000); /* 1ms config */ while (1) /* Infinite loop */ { } }
/** * @brief Main program. * @param None * @retval None */ int main(void) { /*!< At this stage the microcontroller clock setting is already configured, this is done through SystemInit() function which is called from startup file (startup_stm32f072xb.s) before to branch to application main. To reconfigure the default setting of SystemInit() function, refer to system_stm32f0xx.c file PLL is set to x12 with a PREDIV /2 so the system clock SYSCLK = 48MHz */ ConfigureGPIO(); ConfigureExternalIT(); SetClockForADC(); CalibrateADC(); ConfigureGPIOforADC(); EnableADC(); ConfigureADC(); CurrentChannel = 0; /* Initializes the CurrentChannel */ ADC1->CR |= ADC_CR_ADSTART; /* start the ADC conversions */ while (error == 0) /* loop till no unrecoverable error, should never be exited */ { __WFI(); } DisableADC(); SysTick_Config(48000); /* 1ms config */ while (1) /* Infinite loop */ { } }