Knight KE / Mbed OS Game_Master
Committer:
WFKnight
Date:
Thu Jun 21 13:51:43 2018 +0000
Revision:
0:9b3d4731edbb
UART, RTOS, LED

Who changed what in which revision?

UserRevisionLine numberNew contents of line
WFKnight 0:9b3d4731edbb 1 /* mbed Microcontroller Library
WFKnight 0:9b3d4731edbb 2 * (C)Copyright TOSHIBA ELECTRONIC DEVICES & STORAGE CORPORATION 2017 All rights reserved
WFKnight 0:9b3d4731edbb 3 *
WFKnight 0:9b3d4731edbb 4 * Licensed under the Apache License, Version 2.0 (the "License");
WFKnight 0:9b3d4731edbb 5 * you may not use this file except in compliance with the License.
WFKnight 0:9b3d4731edbb 6 * You may obtain a copy of the License at
WFKnight 0:9b3d4731edbb 7 *
WFKnight 0:9b3d4731edbb 8 * http://www.apache.org/licenses/LICENSE-2.0
WFKnight 0:9b3d4731edbb 9 *
WFKnight 0:9b3d4731edbb 10 * Unless required by applicable law or agreed to in writing, software
WFKnight 0:9b3d4731edbb 11 * distributed under the License is distributed on an "AS IS" BASIS,
WFKnight 0:9b3d4731edbb 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
WFKnight 0:9b3d4731edbb 13 * See the License for the specific language governing permissions and
WFKnight 0:9b3d4731edbb 14 * limitations under the License.
WFKnight 0:9b3d4731edbb 15 */
WFKnight 0:9b3d4731edbb 16 #ifndef MBED_PINNAMES_H
WFKnight 0:9b3d4731edbb 17 #define MBED_PINNAMES_H
WFKnight 0:9b3d4731edbb 18
WFKnight 0:9b3d4731edbb 19 #include "cmsis.h"
WFKnight 0:9b3d4731edbb 20
WFKnight 0:9b3d4731edbb 21 #ifdef __cplusplus
WFKnight 0:9b3d4731edbb 22 extern "C" {
WFKnight 0:9b3d4731edbb 23 #endif
WFKnight 0:9b3d4731edbb 24
WFKnight 0:9b3d4731edbb 25 #define PIN_PORT(X) (((uint32_t)(X) >> 3) & 0xF)
WFKnight 0:9b3d4731edbb 26 #define PIN_POS(X) ((uint32_t)(X) & 0x7)
WFKnight 0:9b3d4731edbb 27
WFKnight 0:9b3d4731edbb 28 // Pin data, bit 31..16: Pin Function, bit 15..0: Pin Direction
WFKnight 0:9b3d4731edbb 29 #define PIN_DATA(FUNC, DIR) (int)(((FUNC) << 16) | ((DIR) << 0))
WFKnight 0:9b3d4731edbb 30 #define PIN_FUNC(X) (((X) & 0xffff0000) >> 16)
WFKnight 0:9b3d4731edbb 31 #define PIN_DIR(X) ((X) & 0xffff)
WFKnight 0:9b3d4731edbb 32
WFKnight 0:9b3d4731edbb 33 typedef enum {
WFKnight 0:9b3d4731edbb 34 PIN_INPUT,
WFKnight 0:9b3d4731edbb 35 PIN_OUTPUT,
WFKnight 0:9b3d4731edbb 36 PIN_INOUT
WFKnight 0:9b3d4731edbb 37 } PinDirection;
WFKnight 0:9b3d4731edbb 38
WFKnight 0:9b3d4731edbb 39 typedef enum {
WFKnight 0:9b3d4731edbb 40 // TMPM066 Pin Names
WFKnight 0:9b3d4731edbb 41 PA0 = 0 << 3, PA1, PA2, PA3, PA4, PA5, PA6, PA7,
WFKnight 0:9b3d4731edbb 42 PB0 = 1 << 3, PB1, PB2, PB3,
WFKnight 0:9b3d4731edbb 43 PC0 = 2 << 3, PC1, PC2, PC3, PC4, PC5,
WFKnight 0:9b3d4731edbb 44 PD0 = 3 << 3, PD1, PD2, PD3, PD4, PD5,
WFKnight 0:9b3d4731edbb 45 PE0 = 4 << 3, PE1, PE2, PE3, PE4, PE5,
WFKnight 0:9b3d4731edbb 46 PF0 = 5 << 3, PF1, PF2, PF3, PF4, PF5, PF6, PF7,
WFKnight 0:9b3d4731edbb 47 PG0 = 6 << 3, PG1,
WFKnight 0:9b3d4731edbb 48 PH0 = 7 << 3, PH1, PH2, PH3,
WFKnight 0:9b3d4731edbb 49 PJ0 = 8 << 3, PJ1, PJ2, PJ3,
WFKnight 0:9b3d4731edbb 50
WFKnight 0:9b3d4731edbb 51 // Other mbed Pin Names
WFKnight 0:9b3d4731edbb 52 LED1 = PB0,
WFKnight 0:9b3d4731edbb 53 LED2 = PB1,
WFKnight 0:9b3d4731edbb 54 LED3 = LED1,
WFKnight 0:9b3d4731edbb 55 LED4 = LED2,
WFKnight 0:9b3d4731edbb 56
WFKnight 0:9b3d4731edbb 57 // External data bus Pin Names
WFKnight 0:9b3d4731edbb 58 D0 = PE1,
WFKnight 0:9b3d4731edbb 59 D1 = PE2,
WFKnight 0:9b3d4731edbb 60 D2 = PE0,
WFKnight 0:9b3d4731edbb 61 D3 = PD1,
WFKnight 0:9b3d4731edbb 62 D4 = PJ1,
WFKnight 0:9b3d4731edbb 63 D5 = PD2,
WFKnight 0:9b3d4731edbb 64 D6 = PD3,
WFKnight 0:9b3d4731edbb 65 D7 = PJ2,
WFKnight 0:9b3d4731edbb 66 D8 = PJ3,
WFKnight 0:9b3d4731edbb 67 D9 = PF4,
WFKnight 0:9b3d4731edbb 68 D10 = PF0,
WFKnight 0:9b3d4731edbb 69 D11 = PF1,
WFKnight 0:9b3d4731edbb 70 D12 = PF2,
WFKnight 0:9b3d4731edbb 71 D13 = PF3,
WFKnight 0:9b3d4731edbb 72 D14 = PC1,
WFKnight 0:9b3d4731edbb 73 D15 = PC0,
WFKnight 0:9b3d4731edbb 74
WFKnight 0:9b3d4731edbb 75 // Analogue out pins
WFKnight 0:9b3d4731edbb 76 A0 = PA2,
WFKnight 0:9b3d4731edbb 77 A1 = PA3,
WFKnight 0:9b3d4731edbb 78 A2 = PA4,
WFKnight 0:9b3d4731edbb 79 A3 = PA5,
WFKnight 0:9b3d4731edbb 80 A4 = PA6,
WFKnight 0:9b3d4731edbb 81 A5 = PA7,
WFKnight 0:9b3d4731edbb 82
WFKnight 0:9b3d4731edbb 83 // DAP_UART
WFKnight 0:9b3d4731edbb 84 USBTX = PC2,
WFKnight 0:9b3d4731edbb 85 USBRX = PC3,
WFKnight 0:9b3d4731edbb 86 MBEDIF_TXD = USBTX,
WFKnight 0:9b3d4731edbb 87 MBEDIF_RXD = USBRX,
WFKnight 0:9b3d4731edbb 88
WFKnight 0:9b3d4731edbb 89 // Switches
WFKnight 0:9b3d4731edbb 90 SW1 = PB2,
WFKnight 0:9b3d4731edbb 91 SW2 = PB3,
WFKnight 0:9b3d4731edbb 92
WFKnight 0:9b3d4731edbb 93 // I2C pins
WFKnight 0:9b3d4731edbb 94 SDA = PC1,
WFKnight 0:9b3d4731edbb 95 SCL = PC0,
WFKnight 0:9b3d4731edbb 96 I2C_SDA = SDA,
WFKnight 0:9b3d4731edbb 97 I2C_SCL = SCL,
WFKnight 0:9b3d4731edbb 98
WFKnight 0:9b3d4731edbb 99 // Not connected
WFKnight 0:9b3d4731edbb 100 NC = (int)0xFFFFFFFF,
WFKnight 0:9b3d4731edbb 101 } PinName;
WFKnight 0:9b3d4731edbb 102
WFKnight 0:9b3d4731edbb 103 typedef enum {
WFKnight 0:9b3d4731edbb 104 PullUp = 0,
WFKnight 0:9b3d4731edbb 105 PullDown,
WFKnight 0:9b3d4731edbb 106 PullNone,
WFKnight 0:9b3d4731edbb 107 OpenDrain,
WFKnight 0:9b3d4731edbb 108 PullDefault = PullDown
WFKnight 0:9b3d4731edbb 109 } PinMode;
WFKnight 0:9b3d4731edbb 110
WFKnight 0:9b3d4731edbb 111 #ifdef __cplusplus
WFKnight 0:9b3d4731edbb 112 }
WFKnight 0:9b3d4731edbb 113 #endif
WFKnight 0:9b3d4731edbb 114
WFKnight 0:9b3d4731edbb 115 #endif