mbed library sources. Supersedes mbed-src.

Fork of mbed-dev by mbed official

Committer:
fwndz
Date:
Thu Dec 22 05:12:40 2016 +0000
Revision:
153:9398a535854b
Parent:
149:156823d33999
device target maximize

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 107:414e9c822e99 1 /* mbed Microcontroller Library
mbed_official 107:414e9c822e99 2 * Copyright (c) 2006-2015 ARM Limited
mbed_official 107:414e9c822e99 3 *
mbed_official 107:414e9c822e99 4 * Licensed under the Apache License, Version 2.0 (the "License");
mbed_official 107:414e9c822e99 5 * you may not use this file except in compliance with the License.
mbed_official 107:414e9c822e99 6 * You may obtain a copy of the License at
mbed_official 107:414e9c822e99 7 *
mbed_official 107:414e9c822e99 8 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 107:414e9c822e99 9 *
mbed_official 107:414e9c822e99 10 * Unless required by applicable law or agreed to in writing, software
mbed_official 107:414e9c822e99 11 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 107:414e9c822e99 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 107:414e9c822e99 13 * See the License for the specific language governing permissions and
mbed_official 107:414e9c822e99 14 * limitations under the License.
mbed_official 107:414e9c822e99 15 */
mbed_official 107:414e9c822e99 16 #include <stddef.h>
mbed_official 107:414e9c822e99 17
mbed_official 107:414e9c822e99 18 #include "cmsis.h"
mbed_official 107:414e9c822e99 19 #include "mbed_assert.h"
mbed_official 107:414e9c822e99 20 #include "compiler.h"
mbed_official 107:414e9c822e99 21
mbed_official 107:414e9c822e99 22 #include "pinmap.h"
mbed_official 107:414e9c822e99 23 #include "ioport.h"
mbed_official 107:414e9c822e99 24
mbed_official 107:414e9c822e99 25 /** Change the MUX padding of input pin
mbed_official 107:414e9c822e99 26 *
mbed_official 107:414e9c822e99 27 * Configure the pin for specific module
mbed_official 107:414e9c822e99 28 * @param[in] pin Pin name whose MUX padding is to be changed
mbed_official 107:414e9c822e99 29 * @param[in] function The MUX mode to be selected
mbed_official 107:414e9c822e99 30 * @return void
mbed_official 107:414e9c822e99 31 */
mbed_official 107:414e9c822e99 32 void pin_function(PinName pin, int function)
mbed_official 107:414e9c822e99 33 {
mbed_official 107:414e9c822e99 34 MBED_ASSERT(pin != (PinName)NC);
mbed_official 107:414e9c822e99 35 ioport_set_pin_mode(pin, function);
mbed_official 107:414e9c822e99 36 }
mbed_official 107:414e9c822e99 37
mbed_official 107:414e9c822e99 38 /** Change the pin pull mode
mbed_official 107:414e9c822e99 39 *
mbed_official 107:414e9c822e99 40 * Configure the pin pull mode
mbed_official 107:414e9c822e99 41 * @param[in] pin Pin name whose MUX padding is to be changed
mbed_official 107:414e9c822e99 42 * @param[in] mode Pin pull mode to be set
mbed_official 107:414e9c822e99 43 * @return void
mbed_official 107:414e9c822e99 44 */
mbed_official 107:414e9c822e99 45 void pin_mode(PinName pin, PinMode mode)
mbed_official 107:414e9c822e99 46 {
mbed_official 107:414e9c822e99 47 MBED_ASSERT(pin != (PinName)NC);
mbed_official 107:414e9c822e99 48 if (mode == PullUp) {
mbed_official 107:414e9c822e99 49 ioport_set_pin_mode(pin, IOPORT_MODE_PULLUP);
mbed_official 107:414e9c822e99 50 } else if (mode == PullDown) {
mbed_official 107:414e9c822e99 51 ioport_set_pin_mode(pin, IOPORT_MODE_PULLDOWN);
mbed_official 107:414e9c822e99 52 } else {
mbed_official 107:414e9c822e99 53 ioport_set_pin_mode(pin, IOPORT_MODE_OPEN_DRAIN);
mbed_official 107:414e9c822e99 54 }
mbed_official 107:414e9c822e99 55 }