diff options
Diffstat (limited to 'Projects/NUCLEO-WB35CE/Examples/RTC/RTC_Tamper/readme.txt')
-rw-r--r-- | Projects/NUCLEO-WB35CE/Examples/RTC/RTC_Tamper/readme.txt | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/Projects/NUCLEO-WB35CE/Examples/RTC/RTC_Tamper/readme.txt b/Projects/NUCLEO-WB35CE/Examples/RTC/RTC_Tamper/readme.txt new file mode 100644 index 000000000..85a334e2e --- /dev/null +++ b/Projects/NUCLEO-WB35CE/Examples/RTC/RTC_Tamper/readme.txt @@ -0,0 +1,102 @@ +/** + @page RTC_Tamper RTC Tamper Example + + @verbatim + ****************************************************************************** + * @file RTC/RTC_Tamper/readme.txt + * @author MCD Application Team + * @brief Description of the RTC Tamper example. + ****************************************************************************** + * + * Copyright (c) 2019 STMicroelectronics. All rights reserved. + * + * This software component is licensed by ST under BSD 3-Clause license, + * the "License"; You may not use this file except in compliance with the + * License. You may obtain a copy of the License at: + * opensource.org/licenses/BSD-3-Clause + * + ****************************************************************************** + @endverbatim + +@par Example Description + +Configuration of the RTC HAL API to write/read data to/from RTC Backup registers. +It also demonstrates the tamper detection feature. + +At the beginning of the main program the HAL_Init() function is called to reset +all the peripherals, initialize the Flash interface and the systick. +Then the SystemClock_Config() function is used to configure the system +clock (SYSCLK) to run at 64 MHz. + +The RTC peripheral configuration is ensured by the HAL_RTC_Init() function. +This later is calling the HAL_RTC_MspInit()function which core is implementing +the configuration of the needed RTC resources according to the used hardware (CLOCK, +PWR, RTC clock source and BackUp). You may update this function to change RTC configuration. + +@note LSI oscillator clock is used as RTC clock source by default. + The user can use also LSE as RTC clock source. The user uncomment the adequate + line on the main.h file. + @code + #define RTC_CLOCK_SOURCE_LSI + /* #define RTC_CLOCK_SOURCE_LSE */ + @endcode + LSI oscillator clock is delivered by a 32 kHz RC. + LSE (when available on board) is delivered by a 32.768 kHz crystal. + +HAL_RTCEx_SetTamper_IT() function is then called to initialize the Tamper with +interrupt mode. + +The associated firmware performs the following: +1. It configures the Tamper pin to be rising edge, and enables the Tamper + interrupt. +2. It writes the data to all RTC Backup data registers, then check whether the + data were correctly written. If yes, LED1 is on and LED2 toggles with a period of 1s, + otherwise LED3 turns ON. +3. Apply a low level on RTC tamper pin PA0,(connect a wire between PA0 (pin 34 CN7) and 3.3V) + the RTC backup data registers are reset and the Tamper interrupt is generated. + The corresponding ISR then checks whether the RTC Backup data registers are cleared. + If yes LED1 is off and LED2 toggles with a period of 100ms, otherwise LED3 turns ON. + +@note Care must be taken when using HAL_Delay(), this function provides accurate delay (in milliseconds) + based on variable incremented in SysTick ISR. This implies that if HAL_Delay() is called from + a peripheral ISR process, then the SysTick interrupt must have higher priority (numerically lower) + than the peripheral interrupt. Otherwise the caller ISR process will be blocked. + To change the SysTick interrupt priority you have to use HAL_NVIC_SetPriority() function. + +@note The application need to ensure that the SysTick time base is always set to 1 millisecond + to have correct HAL operation. + +@par Keywords + +System, RTC, Tamper, Reset, LSE, LSI + +@par Directory contents + + - RTC/RTC_Tamper/Inc/stm32wbxx_hal_conf.h HAL configuration file + - RTC/RTC_Tamper/Inc/stm32wbxx_it.h Interrupt handlers header file + - RTC/RTC_Tamper/Inc/main.h Header for main.c module + - RTC/RTC_Tamper/Src/stm32wbxx_it.c Interrupt handlers + - RTC/RTC_Tamper/Src/main.c Main program + - RTC/RTC_Tamper/Src/stm32wbxx_hal_msp.c HAL MSP module + - RTC/RTC_Tamper/Src/system_stm32wbxx.c STM32WBxx system source file + + +@par Hardware and Software environment + + - This example runs on STM32WB35CEUx devices. + - This example has been tested with STMicroelectronics NUCLEO-WB35CE + board and can be easily tailored to any other supported device + and development board. + + +@par How to use it ? + +In order to make the program work, you must do the following : + - Open your preferred toolchain + - Rebuild all files and load your image into target memory + - Run the example + + + * <h3><center>© COPYRIGHT STMicroelectronics</center></h3> + */ + |