Mistake on this page?
Report an issue in GitHub or email us
missing_marker/PinNames.h
1 /* mbed Microcontroller Library
2  * Copyright (c) 2006-2013 ARM Limited
3  * SPDX-License-Identifier: Apache-2.0
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  */
17 
18 #ifndef MBED_PINNAMES_H
19 #define MBED_PINNAMES_H
20 
21 #include "cmsis.h"
22 
23 #ifdef __cplusplus
24 extern "C" {
25 #endif
26 
27 typedef enum {
28  PIN_INPUT,
29  PIN_OUTPUT
30 } PinDirection;
31 
32 #define PORT_SHIFT 5
33 
34 typedef enum {
35  // LPC Pin Names
36  P0_0 = LPC_GPIO0_BASE,
37  P0_1, P0_2, P0_3, P0_4, P0_5, P0_6, P0_7, P0_8, P0_9, P0_10, P0_11, P0_12, P0_13, P0_14, P0_15, P0_16, P0_17, P0_18, P0_19, P0_20, P0_21, P0_22, P0_23, P0_24, P0_25, P0_26, P0_27, P0_28, P0_29, P0_30, P0_31,
38  P1_0, P1_1, P1_2, P1_3, P1_4, P1_5, P1_6, P1_7, P1_8, P1_9, P1_10, P1_11, P1_12, P1_13, P1_14, P1_15, P1_16, P1_17, P1_18, P1_19, P1_20, P1_21, P1_22, P1_23, P1_24, P1_25, P1_26, P1_27, P1_28, P1_29, P1_30, P1_31,
39  P2_0, P2_1, P2_2, P2_3, P2_4, P2_5, P2_6, P2_7, P2_8, P2_9, P2_10, P2_11, P2_12, P2_13, P2_14, P2_15, P2_16, P2_17, P2_18, P2_19, P2_20, P2_21, P2_22, P2_23, P2_24, P2_25, P2_26, P2_27, P2_28, P2_29, P2_30, P2_31,
40  P3_0, P3_1, P3_2, P3_3, P3_4, P3_5, P3_6, P3_7, P3_8, P3_9, P3_10, P3_11, P3_12, P3_13, P3_14, P3_15, P3_16, P3_17, P3_18, P3_19, P3_20, P3_21, P3_22, P3_23, P3_24, P3_25, P3_26, P3_27, P3_28, P3_29, P3_30, P3_31,
41  P4_0, P4_1, P4_2, P4_3, P4_4, P4_5, P4_6, P4_7, P4_8, P4_9, P4_10, P4_11, P4_12, P4_13, P4_14, P4_15, P4_16, P4_17, P4_18, P4_19, P4_20, P4_21, P4_22, P4_23, P4_24, P4_25, P4_26, P4_27, P4_28, P4_29, P4_30, P4_31,
42 
43  // mbed DIP Pin Names
44  p5 = P0_9,
45  p6 = P0_8,
46  p7 = P0_7,
47  p8 = P0_6,
48  p9 = P0_0,
49  p10 = P0_1,
50  p11 = P0_18,
51  p12 = P0_17,
52  p13 = P0_15,
53  p14 = P0_16,
54  p15 = P0_23,
55  p16 = P0_24,
56  p17 = P0_25,
57  p18 = P0_26,
58  p19 = P1_30,
59  p20 = P1_31,
60  p21 = P2_5,
61  p22 = P2_4,
62  p23 = P2_3,
63  p24 = P2_2,
64  p25 = P2_1,
65  p26 = P2_0,
66  p27 = P0_11,
67  p28 = P0_10,
68  p29 = P0_5,
69  p30 = P0_4,
70 
71  // Other mbed Pin Names
72 #ifdef MCB1700
73  LED1 = P1_28,
74  LED2 = P1_29,
75  LED3 = P1_31,
76  LED4 = P2_2,
77 #else
78  LED1 = P1_18,
79  LED2 = P1_20,
80  LED3 = P1_21,
81  LED4 = P1_23,
82 #endif
83  CONSOLE_TX = P0_2,
84  CONSOLE_RX = P0_3,
85 
86  // Arch Pro Pin Names
87  D0 = P4_29,
88  D1 = P4_28,
89  D2 = P0_4,
90  D3 = P0_5,
91  D4 = P2_2,
92  D5 = P2_3,
93  D6 = P2_4,
94  D7 = P2_5,
95  D8 = P0_0,
96  D9 = P0_1,
97  D10 = P0_6,
98  D11 = P0_9,
99  D12 = P0_8,
100  D13 = P0_7,
101  D14 = P0_27,
102  D15 = P0_28,
103 
104  A0 = P0_23,
105  A1 = P0_24,
106  A2 = P0_25,
107  A3 = P0_26,
108  A4 = P1_30,
109  A5 = P1_31,
110 
111  // Not connected
112  NC = (int)0xFFFFFFFF,
113 
114  I2C_SCL0 = NC,
115  I2C_SDA0 = NC,
116  I2C_SCL1 = p10,
117  I2C_SDA1 = p9,
118  I2C_SCL2 = P0_11, // pin used by application board
119  I2C_SDA2 = P0_10, // pin used by application board
120  I2C_SCL = I2C_SCL2,
121  I2C_SDA = I2C_SDA2,
122 } PinName;
123 
124 typedef enum {
125  PullUp = 0,
126  PullDown = 3,
127  PullNone = 2,
128  Repeater = 1,
129  OpenDrain = 4,
130  PullDefault = PullDown
131 } PinMode;
132 
133 // version of PINCON_TypeDef using register arrays
134 typedef struct {
135  __IO uint32_t PINSEL[11];
136  uint32_t RESERVED0[5];
137  __IO uint32_t PINMODE[10];
138  __IO uint32_t PINMODE_OD[5];
140 
141 #define PINCONARRAY ((PINCONARRAY_TypeDef *)LPC_PINCON_BASE)
142 
143 #ifdef __cplusplus
144 }
145 #endif
146 
147 #endif
Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.