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.
mbed-os/targets/TARGET_Atmel/TARGET_SAM_CortexM4/services/serial/usart_serial.c@0:8fdf9a60065b, 2018-10-10 (annotated)
- Committer:
- kadonotakashi
- Date:
- Wed Oct 10 00:33:53 2018 +0000
- Revision:
- 0:8fdf9a60065b
how to make mbed librry
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
kadonotakashi | 0:8fdf9a60065b | 1 | /** |
kadonotakashi | 0:8fdf9a60065b | 2 | * |
kadonotakashi | 0:8fdf9a60065b | 3 | * \file |
kadonotakashi | 0:8fdf9a60065b | 4 | * |
kadonotakashi | 0:8fdf9a60065b | 5 | * \brief USART Serial driver functions. |
kadonotakashi | 0:8fdf9a60065b | 6 | * |
kadonotakashi | 0:8fdf9a60065b | 7 | * |
kadonotakashi | 0:8fdf9a60065b | 8 | * Copyright (c) 2010-2015 Atmel Corporation. All rights reserved. |
kadonotakashi | 0:8fdf9a60065b | 9 | * |
kadonotakashi | 0:8fdf9a60065b | 10 | * \asf_license_start |
kadonotakashi | 0:8fdf9a60065b | 11 | * |
kadonotakashi | 0:8fdf9a60065b | 12 | * \page License |
kadonotakashi | 0:8fdf9a60065b | 13 | * |
kadonotakashi | 0:8fdf9a60065b | 14 | * Redistribution and use in source and binary forms, with or without |
kadonotakashi | 0:8fdf9a60065b | 15 | * modification, are permitted provided that the following conditions are met: |
kadonotakashi | 0:8fdf9a60065b | 16 | * |
kadonotakashi | 0:8fdf9a60065b | 17 | * 1. Redistributions of source code must retain the above copyright notice, |
kadonotakashi | 0:8fdf9a60065b | 18 | * this list of conditions and the following disclaimer. |
kadonotakashi | 0:8fdf9a60065b | 19 | * |
kadonotakashi | 0:8fdf9a60065b | 20 | * 2. Redistributions in binary form must reproduce the above copyright notice, |
kadonotakashi | 0:8fdf9a60065b | 21 | * this list of conditions and the following disclaimer in the documentation |
kadonotakashi | 0:8fdf9a60065b | 22 | * and/or other materials provided with the distribution. |
kadonotakashi | 0:8fdf9a60065b | 23 | * |
kadonotakashi | 0:8fdf9a60065b | 24 | * 3. The name of Atmel may not be used to endorse or promote products derived |
kadonotakashi | 0:8fdf9a60065b | 25 | * from this software without specific prior written permission. |
kadonotakashi | 0:8fdf9a60065b | 26 | * |
kadonotakashi | 0:8fdf9a60065b | 27 | * 4. This software may only be redistributed and used in connection with an |
kadonotakashi | 0:8fdf9a60065b | 28 | * Atmel microcontroller product. |
kadonotakashi | 0:8fdf9a60065b | 29 | * |
kadonotakashi | 0:8fdf9a60065b | 30 | * THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR IMPLIED |
kadonotakashi | 0:8fdf9a60065b | 31 | * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
kadonotakashi | 0:8fdf9a60065b | 32 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE |
kadonotakashi | 0:8fdf9a60065b | 33 | * EXPRESSLY AND SPECIFICALLY DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR |
kadonotakashi | 0:8fdf9a60065b | 34 | * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL |
kadonotakashi | 0:8fdf9a60065b | 35 | * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS |
kadonotakashi | 0:8fdf9a60065b | 36 | * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) |
kadonotakashi | 0:8fdf9a60065b | 37 | * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, |
kadonotakashi | 0:8fdf9a60065b | 38 | * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN |
kadonotakashi | 0:8fdf9a60065b | 39 | * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE |
kadonotakashi | 0:8fdf9a60065b | 40 | * POSSIBILITY OF SUCH DAMAGE. |
kadonotakashi | 0:8fdf9a60065b | 41 | * |
kadonotakashi | 0:8fdf9a60065b | 42 | * \asf_license_stop |
kadonotakashi | 0:8fdf9a60065b | 43 | * |
kadonotakashi | 0:8fdf9a60065b | 44 | */ |
kadonotakashi | 0:8fdf9a60065b | 45 | /* |
kadonotakashi | 0:8fdf9a60065b | 46 | * Support and FAQ: visit <a href="http://www.atmel.com/design-support/">Atmel Support</a> |
kadonotakashi | 0:8fdf9a60065b | 47 | */ |
kadonotakashi | 0:8fdf9a60065b | 48 | #include "serial_platform.h" |
kadonotakashi | 0:8fdf9a60065b | 49 | |
kadonotakashi | 0:8fdf9a60065b | 50 | /** |
kadonotakashi | 0:8fdf9a60065b | 51 | * \brief Send a sequence of bytes to USART device |
kadonotakashi | 0:8fdf9a60065b | 52 | * |
kadonotakashi | 0:8fdf9a60065b | 53 | * \param usart Base address of the USART instance. |
kadonotakashi | 0:8fdf9a60065b | 54 | * \param data Data buffer to read |
kadonotakashi | 0:8fdf9a60065b | 55 | * \param len Length of data |
kadonotakashi | 0:8fdf9a60065b | 56 | * |
kadonotakashi | 0:8fdf9a60065b | 57 | */ |
kadonotakashi | 0:8fdf9a60065b | 58 | status_code_t usart_serial_write_packet(usart_if usart, const uint8_t *data, |
kadonotakashi | 0:8fdf9a60065b | 59 | size_t len) |
kadonotakashi | 0:8fdf9a60065b | 60 | { |
kadonotakashi | 0:8fdf9a60065b | 61 | while (len) { |
kadonotakashi | 0:8fdf9a60065b | 62 | usart_serial_putchar(usart, *data); |
kadonotakashi | 0:8fdf9a60065b | 63 | len--; |
kadonotakashi | 0:8fdf9a60065b | 64 | data++; |
kadonotakashi | 0:8fdf9a60065b | 65 | } |
kadonotakashi | 0:8fdf9a60065b | 66 | return STATUS_OK; |
kadonotakashi | 0:8fdf9a60065b | 67 | } |
kadonotakashi | 0:8fdf9a60065b | 68 | |
kadonotakashi | 0:8fdf9a60065b | 69 | |
kadonotakashi | 0:8fdf9a60065b | 70 | /** |
kadonotakashi | 0:8fdf9a60065b | 71 | * \brief Receive a sequence of bytes from USART device |
kadonotakashi | 0:8fdf9a60065b | 72 | * |
kadonotakashi | 0:8fdf9a60065b | 73 | * \param usart Base address of the USART instance. |
kadonotakashi | 0:8fdf9a60065b | 74 | * \param data Data buffer to write |
kadonotakashi | 0:8fdf9a60065b | 75 | * \param len Length of data |
kadonotakashi | 0:8fdf9a60065b | 76 | * |
kadonotakashi | 0:8fdf9a60065b | 77 | */ |
kadonotakashi | 0:8fdf9a60065b | 78 | status_code_t usart_serial_read_packet(usart_if usart, uint8_t *data, |
kadonotakashi | 0:8fdf9a60065b | 79 | size_t len) |
kadonotakashi | 0:8fdf9a60065b | 80 | { |
kadonotakashi | 0:8fdf9a60065b | 81 | while (len) { |
kadonotakashi | 0:8fdf9a60065b | 82 | usart_serial_getchar(usart, data); |
kadonotakashi | 0:8fdf9a60065b | 83 | len--; |
kadonotakashi | 0:8fdf9a60065b | 84 | data++; |
kadonotakashi | 0:8fdf9a60065b | 85 | } |
kadonotakashi | 0:8fdf9a60065b | 86 | return STATUS_OK; |
kadonotakashi | 0:8fdf9a60065b | 87 | } |