summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAlejandroColomar <colomar.6.4.3@gmail.com>2019-01-19 00:04:24 +0100
committerAlejandroColomar <colomar.6.4.3@gmail.com>2019-01-19 00:04:24 +0100
commit87cc11ea85e4195518f368e992d7bd9b6b8a466f (patch)
treeb9c61180c6a39580c3fa7ebea6bdcf57a29ffe1e
parent532f99f347436fca7708472ff4346f29e8dc50ab (diff)
Move sysclk configuration to helper function
-rwxr-xr-xsrc/main.c37
1 files changed, 21 insertions, 16 deletions
diff --git a/src/main.c b/src/main.c
index ba21ce0..c8de1b4 100755
--- a/src/main.c
+++ b/src/main.c
@@ -79,6 +79,7 @@
/******************************************************************************
******* variables ************************************************************
******************************************************************************/
+/* Volatile ------------------------------------------------------------------*/
/* Global --------------------------------------------------------------------*/
/* Static --------------------------------------------------------------------*/
@@ -86,6 +87,7 @@
/******************************************************************************
******* static functions (prototypes) ****************************************
******************************************************************************/
+static int sysclk_config (void);
static int proc_init (void);
static int proc (void);
static noreturn void stuck_forever (bool led);
@@ -96,25 +98,12 @@ static noreturn void stuck_forever (bool led);
******************************************************************************/
noreturn int main (void)
{
- HAL_Init();
- switch (PROJECT_SYSCLK_SOURCE) {
- case PROJECT_SYSCLK_FROM_HSI:
- sysclk_config_hsi();
- break;
- case PROJECT_SYSCLK_FROM_MSI:
- sysclk_config_msi();
- break;
- case PROJECT_SYSCLK_FROM_PLL_HSI:
- sysclk_config_pll_hsi();
- break;
- case PROJECT_SYSCLK_FROM_PLL_MSI:
- sysclk_config_pll_msi();
- break;
+ HAL_Init();
+ if (sysclk_config()) {
+ goto err_clk;
}
- prj_error = 0;
-
if (DEBUG_MODE) {
if (test()) {
goto err;
@@ -132,6 +121,7 @@ noreturn int main (void)
err:
prj_error_handle();
+err_clk:
stuck_forever(false);
}
@@ -139,6 +129,21 @@ err:
/******************************************************************************
******* static functions (definitions) ***************************************
******************************************************************************/
+static int sysclk_config (void)
+{
+
+ switch (PROJECT_SYSCLK_SOURCE) {
+ case PROJECT_SYSCLK_FROM_HSI:
+ return sysclk_config_hsi();
+ case PROJECT_SYSCLK_FROM_MSI:
+ return sysclk_config_msi();
+ case PROJECT_SYSCLK_FROM_PLL_HSI:
+ return sysclk_config_pll_hsi();
+ case PROJECT_SYSCLK_FROM_PLL_MSI:
+ return sysclk_config_pll_msi();
+ }
+}
+
static int proc_init (void)
{