Mistake on this page?
Report an issue in GitHub or email us
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 /* MBED TARGET LIST: LPC1768 */
19 
20 #ifndef MBED_PINNAMES_H
21 #define MBED_PINNAMES_H
22 
23 #include "cmsis.h"
24 
25 #ifdef __cplusplus
26 extern "C" {
27 #endif
28 
29 typedef enum {
30  PIN_INPUT,
31  PIN_OUTPUT
32 } PinDirection;
33 
34 #define PORT_SHIFT 5
35 
36 typedef enum {
37  // LPC Pin Names
38  P0_0 = LPC_GPIO0_BASE,
39  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,
40  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,
41  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,
42  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,
43  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,
44 
45  // mbed DIP Pin Names
46  p5 = P0_9,
47  p6 = P0_8,
48  p7 = P0_7,
49  p8 = P0_6,
50  p9 = P0_0,
51  p10 = P0_1,
52  p11 = P0_18,
53  p12 = P0_17,
54  p13 = P0_15,
55  p14 = P0_16,
56  p15 = P0_23,
57  p16 = P0_24,
58  p17 = P0_25,
59  p18 = P0_26,
60  p19 = P1_30,
61  p20 = P1_31,
62  p21 = P2_5,
63  p22 = P2_4,
64  p23 = P2_3,
65  p24 = P2_2,
66  p25 = P2_1,
67  p26 = P2_0,
68  p27 = P0_11,
69  p28 = P0_10,
70  p29 = P0_5,
71  p30 = P0_4,
72 
73  // Other mbed Pin Names
74 #ifdef MCB1700
75  LED1 = P1_28,
76  LED2 = P1_29,
77  LED3 = P1_31,
78  LED4 = P2_2,
79 #else
80  LED1 = P1_18,
81  LED2 = P1_20,
82  LED3 = P1_21,
83  LED4 = P1_23,
84 #endif
85  CONSOLE_TX = P0_2,
86  CONSOLE_RX = P0_3,
87 
88  // Arch Pro Pin Names
89  D0 = P4_29,
90  D1 = P4_28,
91  D2 = P0_4,
92  D3 = P0_5,
93  D4 = P2_2,
94  D5 = P2_3,
95  D6 = P2_4,
96  D7 = P2_5,
97  D8 = P0_0,
98  D9 = P0_1,
99  D10 = P0_6,
100  D11 = P0_9,
101  D12 = P0_8,
102  D13 = P0_7,
103  D14 = P0_27,
104  D15 = P0_28,
105 
106  A0 = P0_23,
107  A1 = P0_24,
108  A2 = P0_25,
109  A3 = P0_26,
110  A4 = P1_30,
111  A5 = P1_31,
112 
113  // Not connected
114  NC = (int)0xFFFFFFFF,
115 
116  I2C_SCL0 = NC,
117  I2C_SDA0 = NC,
118  I2C_SCL1 = p10,
119  I2C_SDA1 = p9,
120  I2C_SCL2 = P0_11, // pin used by application board
121  I2C_SDA2 = P0_10, // pin used by application board
122  I2C_SCL = I2C_SCL2,
123  I2C_SDA = I2C_SDA2,
124 } PinName;
125 
126 typedef enum {
127  PullUp = 0,
128  PullDown = 3,
129  PullNone = 2,
130  Repeater = 1,
131  OpenDrain = 4,
132  PullDefault = PullDown
133 } PinMode;
134 
135 // version of PINCON_TypeDef using register arrays
136 typedef struct {
137  __IO uint32_t PINSEL[11];
138  uint32_t RESERVED0[5];
139  __IO uint32_t PINMODE[10];
140  __IO uint32_t PINMODE_OD[5];
142 
143 #define PINCONARRAY ((PINCONARRAY_TypeDef *)LPC_PINCON_BASE)
144 
145 #ifdef __cplusplus
146 }
147 #endif
148 
149 #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.