aboutsummaryrefslogtreecommitdiff
path: root/tmp/STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Examples/PWR/STOP/main.c
diff options
context:
space:
mode:
Diffstat (limited to 'tmp/STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Examples/PWR/STOP/main.c')
-rw-r--r--tmp/STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Examples/PWR/STOP/main.c304
1 files changed, 0 insertions, 304 deletions
diff --git a/tmp/STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Examples/PWR/STOP/main.c b/tmp/STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Examples/PWR/STOP/main.c
deleted file mode 100644
index 6646098..0000000
--- a/tmp/STM32F10x_StdPeriph_Lib_V3.5.0/Project/STM32F10x_StdPeriph_Examples/PWR/STOP/main.c
+++ /dev/null
@@ -1,304 +0,0 @@
-/**
- ******************************************************************************
- * @file PWR/STOP/main.c
- * @author MCD Application Team
- * @version V3.5.0
- * @date 08-April-2011
- * @brief Main program body.
- ******************************************************************************
- * @attention
- *
- * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
- * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE
- * TIME. AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY
- * DIRECT, INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING
- * FROM THE CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE
- * CODING INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
- *
- * <h2><center>&copy; COPYRIGHT 2011 STMicroelectronics</center></h2>
- ******************************************************************************
- */
-
-/* Includes ------------------------------------------------------------------*/
-#include "stm32f10x.h"
-#include "stm32_eval.h"
-
-/** @addtogroup STM32F10x_StdPeriph_Examples
- * @{
- */
-
-/** @addtogroup PWR_STOP
- * @{
- */
-
-/* Private typedef -----------------------------------------------------------*/
-/* Private define ------------------------------------------------------------*/
-/* Private macro -------------------------------------------------------------*/
-/* Private variables ---------------------------------------------------------*/
-extern __IO uint32_t TimingDelay;
-ErrorStatus HSEStartUpStatus;
-
-/* Private function prototypes -----------------------------------------------*/
-void SYSCLKConfig_STOP(void);
-void EXTI_Configuration(void);
-void RTC_Configuration(void);
-void NVIC_Configuration(void);
-void SysTick_Configuration(void);
-void Delay(__IO uint32_t nTime);
-
-/* Private functions ---------------------------------------------------------*/
-
-/**
- * @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_stm32f10x_xx.s) before to branch to application main.
- To reconfigure the default setting of SystemInit() function, refer to
- system_stm32f10x.c file
- */
-
- /* Initialize LEDs and Key Button mounted on STM3210X-EVAL board */
- STM_EVAL_LEDInit(LED1);
- STM_EVAL_LEDInit(LED2);
- STM_EVAL_LEDInit(LED3);
- STM_EVAL_PBInit(BUTTON_KEY, BUTTON_MODE_EXTI);
-
- /* Enable PWR and BKP clock */
- RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR | RCC_APB1Periph_BKP, ENABLE);
-
- /* Configure EXTI Line to generate an interrupt on falling edge */
- EXTI_Configuration();
-
- /* Configure RTC clock source and prescaler */
- RTC_Configuration();
-
- /* NVIC configuration */
- NVIC_Configuration();
-
- /* Configure the SysTick to generate an interrupt each 1 millisecond */
- SysTick_Configuration();
-
- /* Turn on LED1 */
- STM_EVAL_LEDOn(LED1);
-
- while (1)
- {
- /* Insert 1.5 second delay */
- Delay(1500);
-
- /* Wait till RTC Second event occurs */
- RTC_ClearFlag(RTC_FLAG_SEC);
- while(RTC_GetFlagStatus(RTC_FLAG_SEC) == RESET);
-
- /* Alarm in 3 second */
- RTC_SetAlarm(RTC_GetCounter()+ 3);
- /* Wait until last write operation on RTC registers has finished */
- RTC_WaitForLastTask();
-
- /* Turn off LED1 */
- STM_EVAL_LEDOff(LED1);
-
- /* Request to enter STOP mode with regulator in low power mode*/
- PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
-
- /* At this stage the system has resumed from STOP mode -------------------*/
- /* Turn on LED1 */
- STM_EVAL_LEDOn(LED1);
-
- /* Configures system clock after wake-up from STOP: enable HSE, PLL and select
- PLL as system clock source (HSE and PLL are disabled in STOP mode) */
- SYSCLKConfig_STOP();
- }
-}
-
-/**
- * @brief Configures system clock after wake-up from STOP: enable HSE, PLL
- * and select PLL as system clock source.
- * @param None
- * @retval None
- */
-void SYSCLKConfig_STOP(void)
-{
- /* Enable HSE */
- RCC_HSEConfig(RCC_HSE_ON);
-
- /* Wait till HSE is ready */
- HSEStartUpStatus = RCC_WaitForHSEStartUp();
-
- if(HSEStartUpStatus == SUCCESS)
- {
-
-#ifdef STM32F10X_CL
- /* Enable PLL2 */
- RCC_PLL2Cmd(ENABLE);
-
- /* Wait till PLL2 is ready */
- while(RCC_GetFlagStatus(RCC_FLAG_PLL2RDY) == RESET)
- {
- }
-
-#endif
-
- /* Enable PLL */
- RCC_PLLCmd(ENABLE);
-
- /* Wait till PLL is ready */
- while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY) == RESET)
- {
- }
-
- /* Select PLL as system clock source */
- RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);
-
- /* Wait till PLL is used as system clock source */
- while(RCC_GetSYSCLKSource() != 0x08)
- {
- }
- }
-}
-
-/**
- * @brief Configures EXTI Lines.
- * @param None
- * @retval None
- */
-void EXTI_Configuration(void)
-{
- EXTI_InitTypeDef EXTI_InitStructure;
-
- /* Configure EXTI Line17(RTC Alarm) to generate an interrupt on rising edge */
- EXTI_ClearITPendingBit(EXTI_Line17);
- EXTI_InitStructure.EXTI_Line = EXTI_Line17;
- EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
- EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
- EXTI_InitStructure.EXTI_LineCmd = ENABLE;
- EXTI_Init(&EXTI_InitStructure);
-}
-
-/**
- * @brief Configures RTC clock source and prescaler.
- * @param None
- * @retval None
- */
-void RTC_Configuration(void)
-{
- /* RTC clock source configuration ------------------------------------------*/
- /* Allow access to BKP Domain */
- PWR_BackupAccessCmd(ENABLE);
-
- /* Reset Backup Domain */
- BKP_DeInit();
-
- /* Enable the LSE OSC */
- RCC_LSEConfig(RCC_LSE_ON);
- /* Wait till LSE is ready */
- while(RCC_GetFlagStatus(RCC_FLAG_LSERDY) == RESET)
- {
- }
-
- /* Select the RTC Clock Source */
- RCC_RTCCLKConfig(RCC_RTCCLKSource_LSE);
-
- /* Enable the RTC Clock */
- RCC_RTCCLKCmd(ENABLE);
-
- /* RTC configuration -------------------------------------------------------*/
- /* Wait for RTC APB registers synchronisation */
- RTC_WaitForSynchro();
-
- /* Set the RTC time base to 1s */
- RTC_SetPrescaler(32767);
- /* Wait until last write operation on RTC registers has finished */
- RTC_WaitForLastTask();
-
- /* Enable the RTC Alarm interrupt */
- RTC_ITConfig(RTC_IT_ALR, ENABLE);
- /* Wait until last write operation on RTC registers has finished */
- RTC_WaitForLastTask();
-}
-
-/**
- * @brief Configures NVIC and Vector Table base location.
- * @param None
- * @retval None
- */
-void NVIC_Configuration(void)
-{
- NVIC_InitTypeDef NVIC_InitStructure;
-
- /* 2 bits for Preemption Priority and 2 bits for Sub Priority */
- NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
-
- NVIC_InitStructure.NVIC_IRQChannel = RTCAlarm_IRQn;
- NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
- NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
- NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
- NVIC_Init(&NVIC_InitStructure);
-}
-
-/**
- * @brief Configures the SysTick to generate an interrupt each 1 millisecond.
- * @param None
- * @retval None
- */
-void SysTick_Configuration(void)
-{
- /* Setup SysTick Timer for 1 msec interrupts */
- if (SysTick_Config(SystemCoreClock / 1000))
- {
- /* Capture error */
- while (1);
- }
- /* Set SysTick Priority to 3 */
- NVIC_SetPriority(SysTick_IRQn, 0x0C);
-}
-
-/**
- * @brief Inserts a delay time.
- * @param nTime: specifies the delay time length, in milliseconds.
- * @retval None
- */
-void Delay(__IO uint32_t nTime)
-{
- TimingDelay = nTime;
-
- while(TimingDelay != 0);
-
-}
-
-#ifdef USE_FULL_ASSERT
-
-/**
- * @brief Reports the name of the source file and the source line number
- * where the assert_param error has occurred.
- * @param file: pointer to the source file name
- * @param line: assert_param error line source number
- * @retval None
- */
-void assert_failed(uint8_t* file, uint32_t line)
-{
- /* User can add his own implementation to report the file name and line number,
- ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
-
- /* Infinite loop */
- while (1)
- {
- }
-}
-
-#endif
-
-/**
- * @}
- */
-
-/**
- * @}
- */
-
-/******************* (C) COPYRIGHT 2011 STMicroelectronics *****END OF FILE****/