The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Dependents:   hello SerialTestv11 SerialTestv12 Sierpinski ... more

mbed 2

This is the mbed 2 library. If you'd like to learn about Mbed OS please see the mbed-os docs.

Committer:
emilmont
Date:
Fri Feb 21 12:21:39 2014 +0000
Revision:
80:8e73be2a2ac1
Child:
81:7d30d6019079
First alpha release for the NRF51822 target (to be tested in the online IDE)

Who changed what in which revision?

UserRevisionLine numberNew contents of line
emilmont 80:8e73be2a2ac1 1 /* mbed Microcontroller Library
emilmont 80:8e73be2a2ac1 2 * Copyright (c) 2013 Nordic Semiconductor
emilmont 80:8e73be2a2ac1 3 *
emilmont 80:8e73be2a2ac1 4 * Licensed under the Apache License, Version 2.0 (the "License");
emilmont 80:8e73be2a2ac1 5 * you may not use this file except in compliance with the License.
emilmont 80:8e73be2a2ac1 6 * You may obtain a copy of the License at
emilmont 80:8e73be2a2ac1 7 *
emilmont 80:8e73be2a2ac1 8 * http://www.apache.org/licenses/LICENSE-2.0
emilmont 80:8e73be2a2ac1 9 *
emilmont 80:8e73be2a2ac1 10 * Unless required by applicable law or agreed to in writing, software
emilmont 80:8e73be2a2ac1 11 * distributed under the License is distributed on an "AS IS" BASIS,
emilmont 80:8e73be2a2ac1 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
emilmont 80:8e73be2a2ac1 13 * See the License for the specific language governing permissions and
emilmont 80:8e73be2a2ac1 14 * limitations under the License.
emilmont 80:8e73be2a2ac1 15 */
emilmont 80:8e73be2a2ac1 16 #ifndef MBED_PINNAMES_H
emilmont 80:8e73be2a2ac1 17 #define MBED_PINNAMES_H
emilmont 80:8e73be2a2ac1 18
emilmont 80:8e73be2a2ac1 19 #include "cmsis.h"
emilmont 80:8e73be2a2ac1 20
emilmont 80:8e73be2a2ac1 21 #ifdef __cplusplus
emilmont 80:8e73be2a2ac1 22 extern "C" {
emilmont 80:8e73be2a2ac1 23 #endif
emilmont 80:8e73be2a2ac1 24
emilmont 80:8e73be2a2ac1 25 typedef enum {
emilmont 80:8e73be2a2ac1 26 PIN_INPUT,
emilmont 80:8e73be2a2ac1 27 PIN_OUTPUT
emilmont 80:8e73be2a2ac1 28 } PinDirection;
emilmont 80:8e73be2a2ac1 29
emilmont 80:8e73be2a2ac1 30 #define PORT_SHIFT 3
emilmont 80:8e73be2a2ac1 31
emilmont 80:8e73be2a2ac1 32 typedef enum {
emilmont 80:8e73be2a2ac1 33 p0 = 0,
emilmont 80:8e73be2a2ac1 34 p1 = 1,
emilmont 80:8e73be2a2ac1 35 p2 = 2,
emilmont 80:8e73be2a2ac1 36 p3 = 3,
emilmont 80:8e73be2a2ac1 37 p4 = 4,
emilmont 80:8e73be2a2ac1 38 p5 = 5,
emilmont 80:8e73be2a2ac1 39 p6 = 6,
emilmont 80:8e73be2a2ac1 40 p7 = 7,
emilmont 80:8e73be2a2ac1 41 p8 = 8,
emilmont 80:8e73be2a2ac1 42 p9 = 9,
emilmont 80:8e73be2a2ac1 43 p10 = 10,
emilmont 80:8e73be2a2ac1 44 p11 = 11,
emilmont 80:8e73be2a2ac1 45 p12 = 12,
emilmont 80:8e73be2a2ac1 46 p13 = 13,
emilmont 80:8e73be2a2ac1 47 p14 = 14,
emilmont 80:8e73be2a2ac1 48 p15 = 15,
emilmont 80:8e73be2a2ac1 49 p16 = 16,
emilmont 80:8e73be2a2ac1 50 p17 = 17,
emilmont 80:8e73be2a2ac1 51 p18 = 18,
emilmont 80:8e73be2a2ac1 52 p19 = 19,
emilmont 80:8e73be2a2ac1 53 p20 = 20,
emilmont 80:8e73be2a2ac1 54 p21 = 21,
emilmont 80:8e73be2a2ac1 55 p22 = 22,
emilmont 80:8e73be2a2ac1 56 p23 = 23,
emilmont 80:8e73be2a2ac1 57 p24 = 24,
emilmont 80:8e73be2a2ac1 58 p25 = 25,
emilmont 80:8e73be2a2ac1 59 p26 = 26,
emilmont 80:8e73be2a2ac1 60 p27 = 27,
emilmont 80:8e73be2a2ac1 61 p28 = 28,
emilmont 80:8e73be2a2ac1 62 p29 = 29,
emilmont 80:8e73be2a2ac1 63 p30 = 30,
emilmont 80:8e73be2a2ac1 64 // p31=31,
emilmont 80:8e73be2a2ac1 65
emilmont 80:8e73be2a2ac1 66 P0_0 = p0,
emilmont 80:8e73be2a2ac1 67 P0_1 = p1,
emilmont 80:8e73be2a2ac1 68 P0_2 = p2,
emilmont 80:8e73be2a2ac1 69 P0_3 = p3,
emilmont 80:8e73be2a2ac1 70 P0_4 = p4,
emilmont 80:8e73be2a2ac1 71 P0_5 = p5,
emilmont 80:8e73be2a2ac1 72 P0_6 = p6,
emilmont 80:8e73be2a2ac1 73 P0_7 = p7,
emilmont 80:8e73be2a2ac1 74
emilmont 80:8e73be2a2ac1 75 P0_8 = p8,
emilmont 80:8e73be2a2ac1 76 P0_9 = p9,
emilmont 80:8e73be2a2ac1 77 P0_10 = p10,
emilmont 80:8e73be2a2ac1 78 P0_11 = p11,
emilmont 80:8e73be2a2ac1 79 P0_12 = p12,
emilmont 80:8e73be2a2ac1 80 P0_13 = p13,
emilmont 80:8e73be2a2ac1 81 P0_14 = p14,
emilmont 80:8e73be2a2ac1 82 P0_15 = p15,
emilmont 80:8e73be2a2ac1 83
emilmont 80:8e73be2a2ac1 84 P0_16 = p16,
emilmont 80:8e73be2a2ac1 85 P0_17 = p17,
emilmont 80:8e73be2a2ac1 86 P0_18 = p18,
emilmont 80:8e73be2a2ac1 87 P0_19 = p19,
emilmont 80:8e73be2a2ac1 88 P0_20 = p20,
emilmont 80:8e73be2a2ac1 89 P0_21 = p21,
emilmont 80:8e73be2a2ac1 90 P0_22 = p22,
emilmont 80:8e73be2a2ac1 91 P0_23 = p23,
emilmont 80:8e73be2a2ac1 92
emilmont 80:8e73be2a2ac1 93 P0_24 = p24,
emilmont 80:8e73be2a2ac1 94 P0_25 = p25,
emilmont 80:8e73be2a2ac1 95 P0_26 = p26,
emilmont 80:8e73be2a2ac1 96 P0_27 = p27,
emilmont 80:8e73be2a2ac1 97 P0_28 = p28,
emilmont 80:8e73be2a2ac1 98 P0_29 = p29,
emilmont 80:8e73be2a2ac1 99 P0_30 = p30,
emilmont 80:8e73be2a2ac1 100
emilmont 80:8e73be2a2ac1 101 LED1 = p18,
emilmont 80:8e73be2a2ac1 102 LED2 = p19,
emilmont 80:8e73be2a2ac1 103 LED3 = p18,
emilmont 80:8e73be2a2ac1 104 LED4 = p19,
emilmont 80:8e73be2a2ac1 105
emilmont 80:8e73be2a2ac1 106 BUTTON0 = p16,
emilmont 80:8e73be2a2ac1 107 BUTTON1 = p17,
emilmont 80:8e73be2a2ac1 108
emilmont 80:8e73be2a2ac1 109 RX_PIN_NUMBER = p11,
emilmont 80:8e73be2a2ac1 110 TX_PIN_NUMBER = p9,
emilmont 80:8e73be2a2ac1 111 CTS_PIN_NUMBER = p10,
emilmont 80:8e73be2a2ac1 112 RTS_PIN_NUMBER = p8,
emilmont 80:8e73be2a2ac1 113
emilmont 80:8e73be2a2ac1 114 // mBed interface Pins
emilmont 80:8e73be2a2ac1 115 USBTX = TX_PIN_NUMBER,
emilmont 80:8e73be2a2ac1 116 USBRX = RX_PIN_NUMBER,
emilmont 80:8e73be2a2ac1 117
emilmont 80:8e73be2a2ac1 118 SPI_PSELMOSI0 = p20,
emilmont 80:8e73be2a2ac1 119 SPI_PSELMISO0 = p22,
emilmont 80:8e73be2a2ac1 120 SPI_PSELSS0 = p24,
emilmont 80:8e73be2a2ac1 121 SPI_PSELSCK0 = p25,
emilmont 80:8e73be2a2ac1 122
emilmont 80:8e73be2a2ac1 123 SPI_PSELMOSI1 = p12,
emilmont 80:8e73be2a2ac1 124 SPI_PSELMISO1 = p13,
emilmont 80:8e73be2a2ac1 125 SPI_PSELSS1 = p14,
emilmont 80:8e73be2a2ac1 126 SPI_PSELSCK1 = p15,
emilmont 80:8e73be2a2ac1 127
emilmont 80:8e73be2a2ac1 128 SPIS_PSELMOSI = p12,
emilmont 80:8e73be2a2ac1 129 SPIS_PSELMISO = p13,
emilmont 80:8e73be2a2ac1 130 SPIS_PSELSS = p14,
emilmont 80:8e73be2a2ac1 131 SPIS_PSELSCK = p15,
emilmont 80:8e73be2a2ac1 132
emilmont 80:8e73be2a2ac1 133 I2C_SDA0 = p22,
emilmont 80:8e73be2a2ac1 134 I2C_SCL0 = p20,
emilmont 80:8e73be2a2ac1 135
emilmont 80:8e73be2a2ac1 136 I2C_SDA1 = p13,
emilmont 80:8e73be2a2ac1 137 I2C_SCL1 = p15,
emilmont 80:8e73be2a2ac1 138 // Not connected
emilmont 80:8e73be2a2ac1 139 NC = (int)0xFFFFFFFF
emilmont 80:8e73be2a2ac1 140 } PinName;
emilmont 80:8e73be2a2ac1 141
emilmont 80:8e73be2a2ac1 142 typedef enum {
emilmont 80:8e73be2a2ac1 143 PullNone = 0,
emilmont 80:8e73be2a2ac1 144 PullDown = 1,
emilmont 80:8e73be2a2ac1 145 PullUp = 3
emilmont 80:8e73be2a2ac1 146 } PinMode;
emilmont 80:8e73be2a2ac1 147
emilmont 80:8e73be2a2ac1 148 #ifdef __cplusplus
emilmont 80:8e73be2a2ac1 149 }
emilmont 80:8e73be2a2ac1 150 #endif
emilmont 80:8e73be2a2ac1 151
emilmont 80:8e73be2a2ac1 152 #endif