mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

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

Committer:
mbed_official
Date:
Mon Nov 10 07:45:06 2014 +0000
Revision:
395:bfce16e86ea4
Parent:
270:e2babe29baf8
Child:
455:8bc3a354916d
Synchronized with git revision 8adfd82aa1bf8859ec08537ee7bcd4aaaec1769b

Full URL: https://github.com/mbedmicro/mbed/commit/8adfd82aa1bf8859ec08537ee7bcd4aaaec1769b/

Targets: LPC176X - Add repeater pinmode

Who changed what in which revision?

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