- 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:
131:5619d5c0521f
- 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 20:4263a77256ae 1 /* mbed Microcontroller Library
bogdanm 20:4263a77256ae 2 * Copyright (c) 2006-2013 ARM Limited
bogdanm 20:4263a77256ae 3 *
bogdanm 20:4263a77256ae 4 * Licensed under the Apache License, Version 2.0 (the "License");
bogdanm 20:4263a77256ae 5 * you may not use this file except in compliance with the License.
bogdanm 20:4263a77256ae 6 * You may obtain a copy of the License at
bogdanm 20:4263a77256ae 7 *
bogdanm 20:4263a77256ae 8 * http://www.apache.org/licenses/LICENSE-2.0
bogdanm 20:4263a77256ae 9 *
bogdanm 20:4263a77256ae 10 * Unless required by applicable law or agreed to in writing, software
bogdanm 20:4263a77256ae 11 * distributed under the License is distributed on an "AS IS" BASIS,
bogdanm 20:4263a77256ae 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
bogdanm 20:4263a77256ae 13 * See the License for the specific language governing permissions and
bogdanm 20:4263a77256ae 14 * limitations under the License.
bogdanm 20:4263a77256ae 15 */
bogdanm 20:4263a77256ae 16 #ifndef MBED_PINNAMES_H
bogdanm 20:4263a77256ae 17 #define MBED_PINNAMES_H
bogdanm 20:4263a77256ae 18
bogdanm 20:4263a77256ae 19 #include "cmsis.h"
bogdanm 20:4263a77256ae 20
bogdanm 20:4263a77256ae 21 #ifdef __cplusplus
bogdanm 20:4263a77256ae 22 extern "C" {
bogdanm 20:4263a77256ae 23 #endif
bogdanm 20:4263a77256ae 24
bogdanm 20:4263a77256ae 25 #define STM_PIN_DATA(MODE, FUNC) (((MODE) << 8) | (FUNC))
bogdanm 20:4263a77256ae 26 #define STM_PIN_MODE(X) ((X) >> 8)
bogdanm 20:4263a77256ae 27 #define STM_PIN_FUNC(X) ((X) & 0xFF)
bogdanm 20:4263a77256ae 28
bogdanm 20:4263a77256ae 29 typedef enum {
bogdanm 20:4263a77256ae 30 PIN_INPUT,
bogdanm 20:4263a77256ae 31 PIN_OUTPUT
bogdanm 20:4263a77256ae 32 } PinDirection;
bogdanm 20:4263a77256ae 33
bogdanm 20:4263a77256ae 34 #define PORT_SHIFT 6
bogdanm 20:4263a77256ae 35
bogdanm 20:4263a77256ae 36 typedef enum {
bogdanm 20:4263a77256ae 37 // STM32 Pin Names
bogdanm 20:4263a77256ae 38 PA_0 = 0, PA_1, PA_2, PA_3, PA_4, PA_5, PA_6, PA_7, PA_8, PA_9, PA_10, PA_11, PA_12, PA_13, PA_14, PA_15,
bogdanm 20:4263a77256ae 39 PB_0, PB_1, PB_2, PB_3, PB_4, PB_5, PB_6, PB_7, PB_8, PB_9, PB_10, PB_11, PB_12, PB_13, PB_14, PB_15,
bogdanm 20:4263a77256ae 40 PC_0, PC_1, PC_2, PC_3, PC_4, PC_5, PC_6, PC_7, PC_8, PC_9, PC_10, PC_11, PC_12, PC_13, PC_14, PC_15,
bogdanm 20:4263a77256ae 41 PD_0, PD_1, PD_2, PD_3, PD_4, PD_5, PD_6, PD_7, PD_8, PD_9, PD_10, PD_11, PD_12, PD_13, PD_14, PD_15,
bogdanm 20:4263a77256ae 42 PE_0, PE_1, PE_2, PE_3, PE_4, PE_5, PE_6, PE_7, PE_8, PE_9, PE_10, PE_11, PE_12, PE_13, PE_14, PE_15,
bogdanm 20:4263a77256ae 43 PF_0, PF_1, PF_2, PF_3, PF_4, PF_5, PF_6, PF_7, PF_8, PF_9, PF_10, PF_11, PF_12, PF_13, PF_14, PF_15,
bogdanm 20:4263a77256ae 44 PH_0, PH_1, PH_2, PH_3, PH_4, PH_5, PH_6, PH_7, PH_8, PH_9, PH_10, PH_11,
bogdanm 20:4263a77256ae 45
mbed_official 131:5619d5c0521f 46 LED1 = PD_13,
mbed_official 131:5619d5c0521f 47 LED2 = PD_12,
mbed_official 124:73383cc04afd 48 LED3 = PD_13,
mbed_official 124:73383cc04afd 49 LED4 = PD_12,
mbed_official 124:73383cc04afd 50 LED5 = PD_14,
mbed_official 124:73383cc04afd 51 LED6 = PD_15,
mbed_official 124:73383cc04afd 52
bogdanm 20:4263a77256ae 53 // Not connected
bogdanm 20:4263a77256ae 54 NC = (int)0xFFFFFFFF
bogdanm 20:4263a77256ae 55 } PinName;
bogdanm 20:4263a77256ae 56
bogdanm 20:4263a77256ae 57 typedef enum {
bogdanm 20:4263a77256ae 58 PullNone = 0,
bogdanm 20:4263a77256ae 59 PullUp = 1,
bogdanm 20:4263a77256ae 60 PullDown = 2,
mbed_official 113:65a335a675de 61 OpenDrain = 3,
mbed_official 113:65a335a675de 62 PullDefault = PullDown
bogdanm 20:4263a77256ae 63 } PinMode;
bogdanm 20:4263a77256ae 64
bogdanm 20:4263a77256ae 65 #ifdef __cplusplus
bogdanm 20:4263a77256ae 66 }
bogdanm 20:4263a77256ae 67 #endif
bogdanm 20:4263a77256ae 68
bogdanm 20:4263a77256ae 69 #endif