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:
349:c3cf33937977
Child:
584:7c5a5136e412
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 147:39a1839cac63 1 /* mbed Microcontroller Library
mbed_official 147:39a1839cac63 2 * Copyright (c) 2006-2013 ARM Limited
mbed_official 147:39a1839cac63 3 *
mbed_official 147:39a1839cac63 4 * Licensed under the Apache License, Version 2.0 (the "License");
mbed_official 147:39a1839cac63 5 * you may not use this file except in compliance with the License.
mbed_official 147:39a1839cac63 6 * You may obtain a copy of the License at
mbed_official 147:39a1839cac63 7 *
mbed_official 147:39a1839cac63 8 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 147:39a1839cac63 9 *
mbed_official 147:39a1839cac63 10 * Unless required by applicable law or agreed to in writing, software
mbed_official 147:39a1839cac63 11 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 147:39a1839cac63 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 147:39a1839cac63 13 * See the License for the specific language governing permissions and
mbed_official 147:39a1839cac63 14 * limitations under the License.
mbed_official 147:39a1839cac63 15 */
mbed_official 147:39a1839cac63 16 #include "gpio_api.h"
mbed_official 147:39a1839cac63 17
mbed_official 147:39a1839cac63 18 // called before main - implement here if board needs it ortherwise, let
mbed_official 147:39a1839cac63 19 // the application override this if necessary
mbed_official 147:39a1839cac63 20 //void mbed_sdk_init()
mbed_official 147:39a1839cac63 21 //{
mbed_official 147:39a1839cac63 22 //
mbed_official 147:39a1839cac63 23 //}
mbed_official 147:39a1839cac63 24
mbed_official 147:39a1839cac63 25 // Change the NMI pin to an input. This allows NMI pin to
mbed_official 147:39a1839cac63 26 // be used as a low power mode wakeup. The application will
mbed_official 147:39a1839cac63 27 // need to change the pin back to NMI_b or wakeup only occurs once!
mbed_official 147:39a1839cac63 28 void NMI_Handler(void)
mbed_official 147:39a1839cac63 29 {
mbed_official 147:39a1839cac63 30 gpio_t gpio;
mbed_official 147:39a1839cac63 31 gpio_init_in(&gpio, PTA4);
mbed_official 147:39a1839cac63 32 }
mbed_official 349:c3cf33937977 33
mbed_official 349:c3cf33937977 34 // Provide ethernet devices with a semi-unique MAC address from the UUID
mbed_official 349:c3cf33937977 35 void mbed_mac_address(char *mac)
mbed_official 349:c3cf33937977 36 {
mbed_official 349:c3cf33937977 37 // Fetch word 0
mbed_official 349:c3cf33937977 38 uint32_t word0 = *(uint32_t *)0x40048060;
mbed_official 349:c3cf33937977 39 // Fetch word 1
mbed_official 349:c3cf33937977 40 // we only want bottom 16 bits of word1 (MAC bits 32-47)
mbed_official 395:bfce16e86ea4 41 // and bit 1 forced to 1, bit 0 forced to 0
mbed_official 349:c3cf33937977 42 // Locally administered MAC, reduced conflicts
mbed_official 349:c3cf33937977 43 // http://en.wikipedia.org/wiki/MAC_address
mbed_official 349:c3cf33937977 44 uint32_t word1 = *(uint32_t *)0x4004805C;
mbed_official 395:bfce16e86ea4 45 word1 |= 0x00000002;
mbed_official 395:bfce16e86ea4 46 word1 &= 0x0000FFFE;
mbed_official 349:c3cf33937977 47
mbed_official 349:c3cf33937977 48 mac[0] = (word1 & 0x000000ff);
mbed_official 349:c3cf33937977 49 mac[1] = (word1 & 0x0000ff00) >> 8;
mbed_official 349:c3cf33937977 50 mac[2] = (word0 & 0xff000000) >> 24;
mbed_official 349:c3cf33937977 51 mac[3] = (word0 & 0x00ff0000) >> 16;
mbed_official 349:c3cf33937977 52 mac[4] = (word0 & 0x0000ff00) >> 8;
mbed_official 349:c3cf33937977 53 mac[5] = (word0 & 0x000000ff);
mbed_official 349:c3cf33937977 54 }