- fix F411 F334 systeminit when HSI used - portinout always read IDR regardless of port direction

Fork of mbed-src by mbed official

Committer:
Geremia
Date:
Sat Sep 27 11:16:28 2014 +0000
Revision:
332:e299ae530e63
Parent:
13:0645d8841f51
- fix F411 F334 systeminit when HSI used; - STMs PortInOut port.read() always read input data register (real external pin state) even if direction is output (same as other platforms)

Who changed what in which revision?

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