From 8ea6f2832c09a64e4659dbbf8b0ae84be40ba73e Mon Sep 17 00:00:00 2001 From: reivax-boucoi Date: Sun, 22 Nov 2020 21:34:50 +0100 Subject: [PATCH] added some comments --- RealOne/Core/Src/main.c | 61 +++++++++++++------------------- formulaire_resultats_LoPoSo.pdf | Bin 144210 -> 145763 bytes 2 files changed, 25 insertions(+), 36 deletions(-) diff --git a/RealOne/Core/Src/main.c b/RealOne/Core/Src/main.c index 0550151..aac84af 100644 --- a/RealOne/Core/Src/main.c +++ b/RealOne/Core/Src/main.c @@ -17,20 +17,20 @@ volatile uint32_t msTicks = 0; volatile uint8_t expe = 0; volatile uint8_t blue_mode = 0; -void SysTick_Handler() +void SysTick_Handler() //occurs every 10ms { - if ( BLUE_BUTTON() ){ + if ( BLUE_BUTTON() ){ //switch to blue mode if blue button was pressed blue_mode = 1 ; } - msTicks++; /* See startup file startup_LPC17xx.s for SysTick vector */ - if (msTicks == 5 * expe){ + msTicks++; //increment time counter + if (msTicks == 5 * expe){ //turn off led after 50ms*expe LED_GREEN(0); - }else if(msTicks >= 200){ + }else if(msTicks >= 200){ //turn on led every 2 seconds msTicks = 0; LED_GREEN(1); } - if(expe == 2 || expe == 4){ + if(expe == 2 || expe == 4){ //output a 50Hz clock on PC10 to evaluate frequency stability for expe 2 & 4 CLK_TOGGLE(); } } @@ -50,8 +50,8 @@ int main(void) LL_PWR_EnableBkUpAccess(); //expe = register RTC - expe = RTC->BKP0R; - if (expe == 0) { + expe = RTC->BKP0R; //Load expe number from backup register + if (expe == 0) { //if cold start : setup clock, LSE & set expe to 1 SystemClock_Config_24M_LSE(); expe = 1; LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); @@ -59,11 +59,11 @@ int main(void) RTC->BKP0R = expe; } - if (BLUE_BUTTON()){ + if (BLUE_BUTTON()){ //if blue_button is pressed at reset, switch to next expe expe ++; blue_mode = 0; - if (expe > 8) expe = 1; + if (expe > 8) expe = 1; //rollover to expe 1 RTC->BKP0R = expe; } // }else{ @@ -72,7 +72,6 @@ int main(void) LL_PWR_DisableBkUpAccess(); switch(expe){ case 1: - /* Configure the system clock */ SystemClock_Config_80M(); //Setup Sleep mode @@ -107,7 +106,7 @@ int main(void) } - // init systick timer (tick period at 1 ms) + // init systick timer (tick period at 10 ms) LL_Init1msTick( SystemCoreClock ); LL_SYSTICK_EnableIT(); @@ -117,7 +116,7 @@ int main(void) while (1) { if (blue_mode){ switch(expe){ - case 5: + case 5: //cases 5-7 : start stop mode, and reconfigure at wakeup case 6: case 7: LL_LPM_EnableDeepSleep(); @@ -130,7 +129,7 @@ int main(void) LL_SYSTICK_EnableIT(); break; case 8: - LL_LPM_EnableDeepSleep(); + LL_LPM_EnableDeepSleep(); //case 8 : shutdown (wakeup=>reset) RTC_wakeup_init_from_standby_or_shutdown(10); case 1: case 3: @@ -138,18 +137,22 @@ int main(void) break; case 2: case 4: - LL_RCC_MSI_EnablePLLMode(); + LL_RCC_MSI_EnablePLLMode(); //case 4 : enable MSI calibration break; } }else{ - if (expe > 4) { + if (expe > 4) { //expe 5-8 : sleep as normal mode LL_LPM_EnableSleep(); __WFI(); } } } } - +/** + * @brief System Clock Configuration + * @retval None + * 24Mhz + RTC + LSE + Flash latency 3 + Voltage scaling 2 + */ void SystemClock_Config_24M_LSE_FL3_VS2(void){ LL_APB1_GRP1_EnableClock( LL_APB1_GRP1_PERIPH_PWR ); LL_FLASH_SetLatency(LL_FLASH_LATENCY_3); @@ -205,12 +208,6 @@ void SystemClock_Config_24M_LSE_FL3_VS2(void){ LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { - // Error_Handler(); - } } /** @@ -274,15 +271,13 @@ void SystemClock_Config_24M_LSE(void) LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); LL_SetSystemCoreClock(24000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { - // Error_Handler(); - } } - +/** + * @brief System Clock Configuration + * @retval None + * 80MHz using PLL,default flash latency and voltage scaling + */ void SystemClock_Config_80M(void) { LL_FLASH_SetLatency(LL_FLASH_LATENCY_4); @@ -320,12 +315,6 @@ void SystemClock_Config_80M(void) LL_RCC_SetAPB1Prescaler(LL_RCC_APB1_DIV_1); LL_RCC_SetAPB2Prescaler(LL_RCC_APB2_DIV_1); LL_SetSystemCoreClock(80000000); - - /* Update the time base */ - if (HAL_InitTick (TICK_INT_PRIORITY) != HAL_OK) - { - // Error_Handler(); - } } // partie commune a toutes les utilisations du wakeup timer diff --git a/formulaire_resultats_LoPoSo.pdf b/formulaire_resultats_LoPoSo.pdf index 10a0acc9d16c66c6e8b3f409906fb4e42bdfe2bd..6aa3f3f32d6e2e59e405065f30022cb1c82ef8d7 100644 GIT binary patch delta 4225 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