Maxim mbed development library

Dependents:   sensomed

Committer:
switches
Date:
Tue Nov 08 18:27:11 2016 +0000
Revision:
0:0e018d759a2a
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
switches 0:0e018d759a2a 1
switches 0:0e018d759a2a 2 /** \addtogroup hal */
switches 0:0e018d759a2a 3 /** @{*/
switches 0:0e018d759a2a 4 /* mbed Microcontroller Library
switches 0:0e018d759a2a 5 * Copyright (c) 2006-2013 ARM Limited
switches 0:0e018d759a2a 6 *
switches 0:0e018d759a2a 7 * Licensed under the Apache License, Version 2.0 (the "License");
switches 0:0e018d759a2a 8 * you may not use this file except in compliance with the License.
switches 0:0e018d759a2a 9 * You may obtain a copy of the License at
switches 0:0e018d759a2a 10 *
switches 0:0e018d759a2a 11 * http://www.apache.org/licenses/LICENSE-2.0
switches 0:0e018d759a2a 12 *
switches 0:0e018d759a2a 13 * Unless required by applicable law or agreed to in writing, software
switches 0:0e018d759a2a 14 * distributed under the License is distributed on an "AS IS" BASIS,
switches 0:0e018d759a2a 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
switches 0:0e018d759a2a 16 * See the License for the specific language governing permissions and
switches 0:0e018d759a2a 17 * limitations under the License.
switches 0:0e018d759a2a 18 */
switches 0:0e018d759a2a 19 #ifndef MBED_SLEEP_API_H
switches 0:0e018d759a2a 20 #define MBED_SLEEP_API_H
switches 0:0e018d759a2a 21
switches 0:0e018d759a2a 22 #include "device.h"
switches 0:0e018d759a2a 23
switches 0:0e018d759a2a 24 #if DEVICE_SLEEP
switches 0:0e018d759a2a 25
switches 0:0e018d759a2a 26 #ifdef __cplusplus
switches 0:0e018d759a2a 27 extern "C" {
switches 0:0e018d759a2a 28 #endif
switches 0:0e018d759a2a 29
switches 0:0e018d759a2a 30 /** Send the microcontroller to sleep
switches 0:0e018d759a2a 31 *
switches 0:0e018d759a2a 32 * The processor is setup ready for sleep, and sent to sleep using __WFI(). In this mode, the
switches 0:0e018d759a2a 33 * system clock to the core is stopped until a reset or an interrupt occurs. This eliminates
switches 0:0e018d759a2a 34 * dynamic power used by the processor, memory systems and buses. The processor, peripheral and
switches 0:0e018d759a2a 35 * memory state are maintained, and the peripherals continue to work and can generate interrupts.
switches 0:0e018d759a2a 36 *
switches 0:0e018d759a2a 37 * The processor can be woken up by any internal peripheral interrupt or external pin interrupt.
switches 0:0e018d759a2a 38 *
switches 0:0e018d759a2a 39 * @note
switches 0:0e018d759a2a 40 * The mbed interface semihosting is disconnected as part of going to sleep, and can not be restored.
switches 0:0e018d759a2a 41 * Flash re-programming and the USB serial port will remain active, but the mbed program will no longer be
switches 0:0e018d759a2a 42 * able to access the LocalFileSystem
switches 0:0e018d759a2a 43 */
switches 0:0e018d759a2a 44 void sleep(void);
switches 0:0e018d759a2a 45
switches 0:0e018d759a2a 46 /** Send the microcontroller to deep sleep
switches 0:0e018d759a2a 47 *
switches 0:0e018d759a2a 48 * This processor is setup ready for deep sleep, and sent to sleep using __WFI(). This mode
switches 0:0e018d759a2a 49 * has the same sleep features as sleep plus it powers down peripherals and clocks. All state
switches 0:0e018d759a2a 50 * is still maintained.
switches 0:0e018d759a2a 51 *
switches 0:0e018d759a2a 52 * The processor can only be woken up by an external interrupt on a pin or a watchdog timer.
switches 0:0e018d759a2a 53 *
switches 0:0e018d759a2a 54 * @note
switches 0:0e018d759a2a 55 * The mbed interface semihosting is disconnected as part of going to sleep, and can not be restored.
switches 0:0e018d759a2a 56 * Flash re-programming and the USB serial port will remain active, but the mbed program will no longer be
switches 0:0e018d759a2a 57 * able to access the LocalFileSystem
switches 0:0e018d759a2a 58 */
switches 0:0e018d759a2a 59 void deepsleep(void);
switches 0:0e018d759a2a 60
switches 0:0e018d759a2a 61 #ifdef __cplusplus
switches 0:0e018d759a2a 62 }
switches 0:0e018d759a2a 63 #endif
switches 0:0e018d759a2a 64
switches 0:0e018d759a2a 65 #endif
switches 0:0e018d759a2a 66
switches 0:0e018d759a2a 67 #endif
switches 0:0e018d759a2a 68
switches 0:0e018d759a2a 69 /** @}*/