Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Fork of mbed-dev by
targets/TARGET_ONSEMI/TARGET_NCS36510/uart.h@149:156823d33999, 2016-10-28 (annotated)
- Committer:
- <>
- Date:
- Fri Oct 28 11:17:30 2016 +0100
- Revision:
- 149:156823d33999
- Parent:
- targets/hal/TARGET_ONSEMI/TARGET_NCS36510/uart.h@147:30b64687e01f
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?
User | Revision | Line number | New contents of line |
---|---|---|---|
<> | 144:ef7eb2e8f9f7 | 1 | /** |
<> | 144:ef7eb2e8f9f7 | 2 | ****************************************************************************** |
<> | 144:ef7eb2e8f9f7 | 3 | * @file uart.h |
<> | 144:ef7eb2e8f9f7 | 4 | * @brief Defines common properties of any UART driver. |
<> | 144:ef7eb2e8f9f7 | 5 | * @internal |
<> | 144:ef7eb2e8f9f7 | 6 | * @author ON Semiconductor |
<> | 144:ef7eb2e8f9f7 | 7 | * $Rev: 2074 $ |
<> | 144:ef7eb2e8f9f7 | 8 | * $Date: 2013-07-10 18:06:15 +0530 (Wed, 10 Jul 2013) $ |
<> | 144:ef7eb2e8f9f7 | 9 | ****************************************************************************** |
<> | 147:30b64687e01f | 10 | * Copyright 2016 Semiconductor Components Industries LLC (d/b/a ON Semiconductor). |
<> | 147:30b64687e01f | 11 | * All rights reserved. This software and/or documentation is licensed by ON Semiconductor |
<> | 147:30b64687e01f | 12 | * under limited terms and conditions. The terms and conditions pertaining to the software |
<> | 147:30b64687e01f | 13 | * and/or documentation are available at http://www.onsemi.com/site/pdf/ONSEMI_T&C.pdf |
<> | 147:30b64687e01f | 14 | * (ON Semiconductor Standard Terms and Conditions of Sale, Section 8 Software) and |
<> | 147:30b64687e01f | 15 | * if applicable the software license agreement. Do not use this software and/or |
<> | 147:30b64687e01f | 16 | * documentation unless you have carefully read and you agree to the limited terms and |
<> | 147:30b64687e01f | 17 | * conditions. By using this software and/or documentation, you agree to the limited |
<> | 147:30b64687e01f | 18 | * terms and conditions. |
<> | 144:ef7eb2e8f9f7 | 19 | * |
<> | 144:ef7eb2e8f9f7 | 20 | * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED |
<> | 144:ef7eb2e8f9f7 | 21 | * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF |
<> | 144:ef7eb2e8f9f7 | 22 | * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. |
<> | 144:ef7eb2e8f9f7 | 23 | * ON SEMICONDUCTOR SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, |
<> | 144:ef7eb2e8f9f7 | 24 | * INCIDENTAL, OR CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. |
<> | 144:ef7eb2e8f9f7 | 25 | * @endinternal |
<> | 144:ef7eb2e8f9f7 | 26 | * |
<> | 144:ef7eb2e8f9f7 | 27 | * @details |
<> | 144:ef7eb2e8f9f7 | 28 | * A UART driver must comply to the generic driver template (see driver.h), and |
<> | 144:ef7eb2e8f9f7 | 29 | * more specifically to the character driver template (see char_driver.h). All |
<> | 144:ef7eb2e8f9f7 | 30 | * UART drivers share some properties; defining these is the purpose of this file. |
<> | 144:ef7eb2e8f9f7 | 31 | * |
<> | 144:ef7eb2e8f9f7 | 32 | * The options passed when opening a UART device should at least include the |
<> | 144:ef7eb2e8f9f7 | 33 | * flow control type and the baud rate. These are included in the uart_options_t |
<> | 144:ef7eb2e8f9f7 | 34 | * data type. The type can be extended by a UART driver implementation. |
<> | 144:ef7eb2e8f9f7 | 35 | * |
<> | 144:ef7eb2e8f9f7 | 36 | * The UART driver implementation must make its driver publicly available with |
<> | 144:ef7eb2e8f9f7 | 37 | * an external global variable. |
<> | 144:ef7eb2e8f9f7 | 38 | * |
<> | 144:ef7eb2e8f9f7 | 39 | * @ingroup uart |
<> | 144:ef7eb2e8f9f7 | 40 | */ |
<> | 144:ef7eb2e8f9f7 | 41 | |
<> | 144:ef7eb2e8f9f7 | 42 | #ifndef UART_H_ |
<> | 144:ef7eb2e8f9f7 | 43 | #define UART_H_ |
<> | 144:ef7eb2e8f9f7 | 44 | |
<> | 144:ef7eb2e8f9f7 | 45 | //#include "char_driver.h" |
<> | 144:ef7eb2e8f9f7 | 46 | |
<> | 144:ef7eb2e8f9f7 | 47 | /** Type listing the supported kinds of flow control. */ |
<> | 144:ef7eb2e8f9f7 | 48 | typedef enum { |
<> | 144:ef7eb2e8f9f7 | 49 | /** No flow control */ |
<> | 144:ef7eb2e8f9f7 | 50 | none, |
<> | 144:ef7eb2e8f9f7 | 51 | /** use hardware CTS (External CPU indicates it is ok for the modem to transmit) |
<> | 144:ef7eb2e8f9f7 | 52 | * and RTS (modem requests to sent to external CPU) flow control. |
<> | 144:ef7eb2e8f9f7 | 53 | */ |
<> | 144:ef7eb2e8f9f7 | 54 | rtscts, |
<> | 144:ef7eb2e8f9f7 | 55 | /** use hardware CTS/RTS flow control, but CTS is no response to RTS, |
<> | 144:ef7eb2e8f9f7 | 56 | * RTS and CTS are used to indicate intent to transmit. |
<> | 144:ef7eb2e8f9f7 | 57 | */ |
<> | 144:ef7eb2e8f9f7 | 58 | rtscts_e |
<> | 144:ef7eb2e8f9f7 | 59 | } flow_control_t; |
<> | 144:ef7eb2e8f9f7 | 60 | |
<> | 144:ef7eb2e8f9f7 | 61 | /** A set of options to be passed when creating a uart device instance. */ |
<> | 144:ef7eb2e8f9f7 | 62 | typedef struct uart_options { |
<> | 144:ef7eb2e8f9f7 | 63 | uint32_t baudrate; /**< The expected baud rate. */ |
<> | 144:ef7eb2e8f9f7 | 64 | flow_control_t control;/**< Defines type of flow control, none or rtscts */ |
<> | 144:ef7eb2e8f9f7 | 65 | } uart_options_t, *uart_options_pt; |
<> | 144:ef7eb2e8f9f7 | 66 | |
<> | 144:ef7eb2e8f9f7 | 67 | #endif /* UART_H_ */ |