]> git.sur5r.net Git - freertos/blob
fd84a58ab3cc60b252d509ca6116cce2e04f0898
[freertos] /
1 /**********************************************************************\r
2 * $Id$          lpc18xx_pwr.c           2011-06-02\r
3 *//**\r
4 * @file         lpc18xx_pwr.c\r
5 * @brief        Contains all functions support for Power Control\r
6 *                       firmware library on LPC18xx\r
7 * @version      1.0\r
8 * @date         02. June. 2011\r
9 * @author       NXP MCU SW Application Team\r
10 *\r
11 * Copyright(C) 2011, NXP Semiconductor\r
12 * All rights reserved.\r
13 *\r
14 ***********************************************************************\r
15 * Software that is described herein is for illustrative purposes only\r
16 * which provides customers with programming information regarding the\r
17 * products. This software is supplied "AS IS" without any warranties.\r
18 * NXP Semiconductors assumes no responsibility or liability for the\r
19 * use of the software, conveys no license or title under any patent,\r
20 * copyright, or mask work right to the product. NXP Semiconductors\r
21 * reserves the right to make changes in the software without\r
22 * notification. NXP Semiconductors also make no representation or\r
23 * warranty that such application will be suitable for the specified\r
24 * use without further testing or modification.\r
25 **********************************************************************/\r
26 \r
27 /* Peripheral group ----------------------------------------------------------- */\r
28 /** @addtogroup PWR\r
29  * @{\r
30  */\r
31 \r
32 /* Includes ------------------------------------------------------------------- */\r
33 #include "lpc_types.h"\r
34 #include "lpc18xx_scu.h"\r
35 #include "lpc18xx_pwr.h"\r
36 \r
37 /*********************************************************************//**\r
38  * @brief               Enter Sleep mode with co-operated instruction by the Cortex-M3.\r
39  * @param[in]   None\r
40  * @return              None\r
41  **********************************************************************/\r
42 void PWR_Sleep(void)\r
43 {\r
44         //LPC_PMC->SLEEP0_MODE = 0x00;\r
45         /* Sleep Mode*/\r
46         __WFI();\r
47 }\r
48 \r
49 \r
50 /*********************************************************************//**\r
51  * @brief               Enter Deep Sleep mode with co-operated instruction by the Cortex-M3.\r
52  * @param[in]   None\r
53  * @return              None\r
54  **********************************************************************/\r
55 void PWR_DeepSleep(void)\r
56 {\r
57     /* Deep-Sleep Mode, set SLEEPDEEP bit */\r
58         SCB->SCR = 0x4;\r
59         LPC_PMC->PD0_SLEEP0_MODE = PWR_SLEEP_MODE_DEEP_SLEEP;\r
60         /* Deep Sleep Mode*/\r
61         __WFI();\r
62 }\r
63 \r
64 \r
65 /*********************************************************************//**\r
66  * @brief               Enter Power Down mode with co-operated instruction by the Cortex-M3.\r
67  * @param[in]   None\r
68  * @return              None\r
69  **********************************************************************/\r
70 void PWR_PowerDown(void)\r
71 {\r
72     /* Deep-Sleep Mode, set SLEEPDEEP bit */\r
73         SCB->SCR = 0x4;\r
74         LPC_PMC->PD0_SLEEP0_MODE = PWR_SLEEP_MODE_POWER_DOWN;\r
75         /* Power Down Mode*/\r
76         __WFI();\r
77 }\r
78 \r
79 \r
80 /*********************************************************************//**\r
81  * @brief               Enter Deep Power Down mode with co-operated instruction by the Cortex-M3.\r
82  * @param[in]   None\r
83  * @return              None\r
84  **********************************************************************/\r
85 void PWR_DeepPowerDown(void)\r
86 {\r
87     /* Deep-Sleep Mode, set SLEEPDEEP bit */\r
88         SCB->SCR = 0x4;\r
89         LPC_PMC->PD0_SLEEP0_MODE = PWR_SLEEP_MODE_DEEP_POWER_DOWN;\r
90         /* Deep Power Down Mode*/\r
91         __WFI();\r
92 }\r
93 \r
94 /**\r
95  * @}\r
96  */\r
97 \r
98 /**\r
99  * @}\r
100  */\r
101 \r
102 /* --------------------------------- End Of File ------------------------------ */\r