mbed library sources. Supersedes mbed-src.

Fork of mbed-dev by mbed official

Committer:
<>
Date:
Fri Oct 28 11:17:30 2016 +0100
Revision:
149:156823d33999
Parent:
targets/hal/TARGET_ARM_SSG/TARGET_IOTSS/gpio_object.h@80:bdf1132a57cf
This updates the lib to the mbed lib v128

NOTE: This release includes a restructuring of the file and directory locations and thus some
include paths in your code may need updating accordingly.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 80:bdf1132a57cf 1 /* mbed Microcontroller Library
mbed_official 80:bdf1132a57cf 2 * Copyright (c) 2006-2015 ARM Limited
mbed_official 80:bdf1132a57cf 3 *
mbed_official 80:bdf1132a57cf 4 * Licensed under the Apache License, Version 2.0 (the "License");
mbed_official 80:bdf1132a57cf 5 * you may not use this file except in compliance with the License.
mbed_official 80:bdf1132a57cf 6 * You may obtain a copy of the License at
mbed_official 80:bdf1132a57cf 7 *
mbed_official 80:bdf1132a57cf 8 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 80:bdf1132a57cf 9 *
mbed_official 80:bdf1132a57cf 10 * Unless required by applicable law or agreed to in writing, software
mbed_official 80:bdf1132a57cf 11 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 80:bdf1132a57cf 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 80:bdf1132a57cf 13 * See the License for the specific language governing permissions and
mbed_official 80:bdf1132a57cf 14 * limitations under the License.
mbed_official 80:bdf1132a57cf 15 */
mbed_official 80:bdf1132a57cf 16 #ifndef MBED_GPIO_OBJECT_H
mbed_official 80:bdf1132a57cf 17 #define MBED_GPIO_OBJECT_H
mbed_official 80:bdf1132a57cf 18
mbed_official 80:bdf1132a57cf 19 #include "cmsis.h"
mbed_official 80:bdf1132a57cf 20 #include "PortNames.h"
mbed_official 80:bdf1132a57cf 21 #include "PeripheralNames.h"
mbed_official 80:bdf1132a57cf 22 #include "PinNames.h"
mbed_official 80:bdf1132a57cf 23
mbed_official 80:bdf1132a57cf 24 #ifdef __cplusplus
mbed_official 80:bdf1132a57cf 25 extern "C" {
mbed_official 80:bdf1132a57cf 26 #endif
mbed_official 80:bdf1132a57cf 27
mbed_official 80:bdf1132a57cf 28 typedef struct {
mbed_official 80:bdf1132a57cf 29 PinName pin;
mbed_official 80:bdf1132a57cf 30 uint32_t mask;
mbed_official 80:bdf1132a57cf 31 uint32_t pin_number;
mbed_official 80:bdf1132a57cf 32
mbed_official 80:bdf1132a57cf 33 __IO uint32_t *reg_dir;
mbed_official 80:bdf1132a57cf 34 __IO uint32_t *reg_dirclr;
mbed_official 80:bdf1132a57cf 35 __IO uint32_t *reg_data;
mbed_official 80:bdf1132a57cf 36 __I uint32_t *reg_in;
mbed_official 80:bdf1132a57cf 37 } gpio_t;
mbed_official 80:bdf1132a57cf 38
mbed_official 80:bdf1132a57cf 39 static inline void gpio_write(gpio_t *obj, int value) {
mbed_official 80:bdf1132a57cf 40 if (value){
mbed_official 80:bdf1132a57cf 41 *obj->reg_data |= (obj->mask);
mbed_official 80:bdf1132a57cf 42 } else {
mbed_official 80:bdf1132a57cf 43 *obj->reg_data &= ~(obj->mask);
mbed_official 80:bdf1132a57cf 44 }
mbed_official 80:bdf1132a57cf 45 }
mbed_official 80:bdf1132a57cf 46
mbed_official 80:bdf1132a57cf 47 static inline int gpio_read(gpio_t *obj) {
mbed_official 80:bdf1132a57cf 48 return ((*obj->reg_in & obj->mask) ? 1 : 0);
mbed_official 80:bdf1132a57cf 49 }
mbed_official 80:bdf1132a57cf 50
mbed_official 80:bdf1132a57cf 51 #ifdef __cplusplus
mbed_official 80:bdf1132a57cf 52 }
mbed_official 80:bdf1132a57cf 53 #endif
mbed_official 80:bdf1132a57cf 54
mbed_official 80:bdf1132a57cf 55 #endif