diff options
author | AlejandroColomar <colomar.6.4.3@gmail.com> | 2019-01-19 00:04:24 +0100 |
---|---|---|
committer | AlejandroColomar <colomar.6.4.3@gmail.com> | 2019-01-19 00:04:24 +0100 |
commit | 87cc11ea85e4195518f368e992d7bd9b6b8a466f (patch) | |
tree | b9c61180c6a39580c3fa7ebea6bdcf57a29ffe1e | |
parent | 532f99f347436fca7708472ff4346f29e8dc50ab (diff) |
Move sysclk configuration to helper function
-rwxr-xr-x | src/main.c | 37 |
1 files changed, 21 insertions, 16 deletions
@@ -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) { |