- 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:
64:7b352733b00a
- 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 15:4892fe388435 1 /* mbed Microcontroller Library
bogdanm 15:4892fe388435 2 * Copyright (c) 2006-2013 ARM Limited
bogdanm 15:4892fe388435 3 *
bogdanm 15:4892fe388435 4 * Licensed under the Apache License, Version 2.0 (the "License");
bogdanm 15:4892fe388435 5 * you may not use this file except in compliance with the License.
bogdanm 15:4892fe388435 6 * You may obtain a copy of the License at
bogdanm 15:4892fe388435 7 *
bogdanm 15:4892fe388435 8 * http://www.apache.org/licenses/LICENSE-2.0
bogdanm 15:4892fe388435 9 *
bogdanm 15:4892fe388435 10 * Unless required by applicable law or agreed to in writing, software
bogdanm 15:4892fe388435 11 * distributed under the License is distributed on an "AS IS" BASIS,
bogdanm 15:4892fe388435 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
bogdanm 15:4892fe388435 13 * See the License for the specific language governing permissions and
bogdanm 15:4892fe388435 14 * limitations under the License.
bogdanm 15:4892fe388435 15 */
bogdanm 15:4892fe388435 16 #ifndef MBED_OBJECTS_H
bogdanm 15:4892fe388435 17 #define MBED_OBJECTS_H
bogdanm 15:4892fe388435 18
bogdanm 15:4892fe388435 19 #include "cmsis.h"
bogdanm 15:4892fe388435 20 #include "PortNames.h"
bogdanm 15:4892fe388435 21 #include "PeripheralNames.h"
bogdanm 15:4892fe388435 22 #include "PinNames.h"
mbed_official 64:7b352733b00a 23 #include "gpio_object.h"
bogdanm 15:4892fe388435 24
bogdanm 15:4892fe388435 25 #ifdef __cplusplus
bogdanm 15:4892fe388435 26 extern "C" {
bogdanm 15:4892fe388435 27 #endif
bogdanm 15:4892fe388435 28
bogdanm 15:4892fe388435 29 struct gpio_irq_s {
bogdanm 15:4892fe388435 30 uint32_t port;
bogdanm 15:4892fe388435 31 uint32_t pin;
bogdanm 15:4892fe388435 32 uint32_t ch;
bogdanm 15:4892fe388435 33 };
bogdanm 15:4892fe388435 34
bogdanm 15:4892fe388435 35 struct port_s {
bogdanm 15:4892fe388435 36 __IO uint32_t *reg_dir;
bogdanm 15:4892fe388435 37 __IO uint32_t *reg_out;
bogdanm 15:4892fe388435 38 __I uint32_t *reg_in;
bogdanm 15:4892fe388435 39 PortName port;
bogdanm 15:4892fe388435 40 uint32_t mask;
bogdanm 15:4892fe388435 41 };
bogdanm 15:4892fe388435 42
bogdanm 15:4892fe388435 43 struct pwmout_s {
bogdanm 15:4892fe388435 44 __IO uint32_t *MR;
bogdanm 15:4892fe388435 45 PWMName pwm;
bogdanm 15:4892fe388435 46 };
bogdanm 15:4892fe388435 47
bogdanm 15:4892fe388435 48 struct serial_s {
bogdanm 15:4892fe388435 49 LPC_UART_TypeDef *uart;
bogdanm 15:4892fe388435 50 int index;
bogdanm 15:4892fe388435 51 };
bogdanm 15:4892fe388435 52
bogdanm 15:4892fe388435 53 struct analogin_s {
bogdanm 15:4892fe388435 54 ADCName adc;
bogdanm 15:4892fe388435 55 };
bogdanm 15:4892fe388435 56
bogdanm 15:4892fe388435 57 struct dac_s {
bogdanm 15:4892fe388435 58 DACName dac;
bogdanm 15:4892fe388435 59 };
bogdanm 15:4892fe388435 60
bogdanm 15:4892fe388435 61 struct can_s {
bogdanm 15:4892fe388435 62 LPC_CAN_TypeDef *dev;
bogdanm 15:4892fe388435 63 int index;
bogdanm 15:4892fe388435 64 };
bogdanm 15:4892fe388435 65
bogdanm 15:4892fe388435 66 struct i2c_s {
bogdanm 15:4892fe388435 67 LPC_I2C_TypeDef *i2c;
bogdanm 15:4892fe388435 68 };
bogdanm 15:4892fe388435 69
bogdanm 15:4892fe388435 70 struct spi_s {
bogdanm 15:4892fe388435 71 LPC_SSP_TypeDef *spi;
bogdanm 15:4892fe388435 72 };
bogdanm 15:4892fe388435 73
bogdanm 15:4892fe388435 74 #ifdef __cplusplus
bogdanm 15:4892fe388435 75 }
bogdanm 15:4892fe388435 76 #endif
bogdanm 15:4892fe388435 77
bogdanm 15:4892fe388435 78 #endif