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:
Wed Sep 30 17:00:09 2015 +0100
Revision:
635:a11c0372f0ba
Parent:
64:7b352733b00a
Synchronized with git revision d29c98dae61be0946ddf3a3c641c7726056f9452

Full URL: https://github.com/mbedmicro/mbed/commit/d29c98dae61be0946ddf3a3c641c7726056f9452/

Added support for SAMW25

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 36:ab3ee77451e7 1 /* mbed Microcontroller Library
mbed_official 36:ab3ee77451e7 2 * Copyright (c) 2006-2013 ARM Limited
mbed_official 36:ab3ee77451e7 3 *
mbed_official 36:ab3ee77451e7 4 * Licensed under the Apache License, Version 2.0 (the "License");
mbed_official 36:ab3ee77451e7 5 * you may not use this file except in compliance with the License.
mbed_official 36:ab3ee77451e7 6 * You may obtain a copy of the License at
mbed_official 36:ab3ee77451e7 7 *
mbed_official 36:ab3ee77451e7 8 * http://www.apache.org/licenses/LICENSE-2.0
mbed_official 36:ab3ee77451e7 9 *
mbed_official 36:ab3ee77451e7 10 * Unless required by applicable law or agreed to in writing, software
mbed_official 36:ab3ee77451e7 11 * distributed under the License is distributed on an "AS IS" BASIS,
mbed_official 36:ab3ee77451e7 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
mbed_official 36:ab3ee77451e7 13 * See the License for the specific language governing permissions and
mbed_official 36:ab3ee77451e7 14 * limitations under the License.
mbed_official 36:ab3ee77451e7 15 */
mbed_official 36:ab3ee77451e7 16 #ifndef MBED_RAW_SERIAL_H
mbed_official 36:ab3ee77451e7 17 #define MBED_RAW_SERIAL_H
mbed_official 36:ab3ee77451e7 18
mbed_official 36:ab3ee77451e7 19 #include "platform.h"
mbed_official 36:ab3ee77451e7 20
mbed_official 36:ab3ee77451e7 21 #if DEVICE_SERIAL
mbed_official 36:ab3ee77451e7 22
mbed_official 36:ab3ee77451e7 23 #include "SerialBase.h"
mbed_official 36:ab3ee77451e7 24 #include "serial_api.h"
mbed_official 36:ab3ee77451e7 25
mbed_official 36:ab3ee77451e7 26 namespace mbed {
mbed_official 36:ab3ee77451e7 27
mbed_official 36:ab3ee77451e7 28 /** A serial port (UART) for communication with other serial devices
mbed_official 36:ab3ee77451e7 29 * This is a variation of the Serial class that doesn't use streams,
mbed_official 36:ab3ee77451e7 30 * thus making it safe to use in interrupt handlers with the RTOS.
mbed_official 36:ab3ee77451e7 31 *
mbed_official 36:ab3ee77451e7 32 * Can be used for Full Duplex communication, or Simplex by specifying
mbed_official 36:ab3ee77451e7 33 * one pin as NC (Not Connected)
mbed_official 36:ab3ee77451e7 34 *
mbed_official 36:ab3ee77451e7 35 * Example:
mbed_official 36:ab3ee77451e7 36 * @code
mbed_official 36:ab3ee77451e7 37 * // Send a char to the PC
mbed_official 36:ab3ee77451e7 38 *
mbed_official 36:ab3ee77451e7 39 * #include "mbed.h"
mbed_official 36:ab3ee77451e7 40 *
mbed_official 36:ab3ee77451e7 41 * RawSerial pc(USBTX, USBRX);
mbed_official 36:ab3ee77451e7 42 *
mbed_official 36:ab3ee77451e7 43 * int main() {
mbed_official 36:ab3ee77451e7 44 * pc.putc('A');
mbed_official 36:ab3ee77451e7 45 * }
mbed_official 36:ab3ee77451e7 46 * @endcode
mbed_official 36:ab3ee77451e7 47 */
mbed_official 36:ab3ee77451e7 48 class RawSerial: public SerialBase {
mbed_official 36:ab3ee77451e7 49
mbed_official 36:ab3ee77451e7 50 public:
mbed_official 36:ab3ee77451e7 51 /** Create a RawSerial port, connected to the specified transmit and receive pins
mbed_official 36:ab3ee77451e7 52 *
mbed_official 36:ab3ee77451e7 53 * @param tx Transmit pin
mbed_official 36:ab3ee77451e7 54 * @param rx Receive pin
mbed_official 36:ab3ee77451e7 55 *
mbed_official 36:ab3ee77451e7 56 * @note
mbed_official 36:ab3ee77451e7 57 * Either tx or rx may be specified as NC if unused
mbed_official 36:ab3ee77451e7 58 */
mbed_official 36:ab3ee77451e7 59 RawSerial(PinName tx, PinName rx);
mbed_official 36:ab3ee77451e7 60
mbed_official 36:ab3ee77451e7 61 /** Write a char to the serial port
mbed_official 36:ab3ee77451e7 62 *
mbed_official 36:ab3ee77451e7 63 * @param c The char to write
mbed_official 36:ab3ee77451e7 64 *
mbed_official 36:ab3ee77451e7 65 * @returns The written char or -1 if an error occured
mbed_official 36:ab3ee77451e7 66 */
mbed_official 36:ab3ee77451e7 67 int putc(int c);
mbed_official 36:ab3ee77451e7 68
mbed_official 36:ab3ee77451e7 69 /** Read a char from the serial port
mbed_official 36:ab3ee77451e7 70 *
mbed_official 36:ab3ee77451e7 71 * @returns The char read from the serial port
mbed_official 36:ab3ee77451e7 72 */
mbed_official 36:ab3ee77451e7 73 int getc();
mbed_official 64:7b352733b00a 74
mbed_official 64:7b352733b00a 75 /** Write a string to the serial port
mbed_official 64:7b352733b00a 76 *
mbed_official 64:7b352733b00a 77 * @param str The string to write
mbed_official 64:7b352733b00a 78 *
mbed_official 64:7b352733b00a 79 * @returns 0 if the write succeeds, EOF for error
mbed_official 64:7b352733b00a 80 */
mbed_official 64:7b352733b00a 81 int puts(const char *str);
mbed_official 64:7b352733b00a 82
mbed_official 64:7b352733b00a 83 int printf(const char *format, ...);
mbed_official 36:ab3ee77451e7 84 };
mbed_official 36:ab3ee77451e7 85
mbed_official 36:ab3ee77451e7 86 } // namespace mbed
mbed_official 36:ab3ee77451e7 87
mbed_official 36:ab3ee77451e7 88 #endif
mbed_official 36:ab3ee77451e7 89
mbed_official 36:ab3ee77451e7 90 #endif