From 4c41f7a994e3fdff0c42d9ccba7f2e678d8111d0 Mon Sep 17 00:00:00 2001
From: PeterKietzmann <peter.kietzmann@haw-hamburg.de>
Date: Fri, 18 Dec 2015 15:38:57 +0100
Subject: [PATCH] periph/uart: extend uart API doc

---
 drivers/include/periph/uart.h | 23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/drivers/include/periph/uart.h b/drivers/include/periph/uart.h
index c29f3b4b26..52af846c65 100644
--- a/drivers/include/periph/uart.h
+++ b/drivers/include/periph/uart.h
@@ -12,6 +12,29 @@
  * @brief       Low-level UART peripheral driver
  * @{
  *
+ * This is a basic UART (Universal Asynchronous Receiver Transmitter) interface
+ * to allow platform independent access to the MCU's serial communication abilities.
+ * This interface is intentionally designed to be as simple as possible, to allow
+ * for easy implementation and maximum portability. In RIOT we only use the
+ * common 8-N-1 format of the serial port (8 data bist, no parity bit, one stop bit).
+ *
+ * The simple interface provides capabilities to initialize the serial communication
+ * module, which automatically enables for receiving data, as well as writing data
+ * to the UART port, which means transmitting data. The UART device and the
+ * corresponding pins need to be mapped in `RIOT/boards/ * /include/periph_conf.h`.
+ * Furthermore you need to select the baudrate for initialization which is typically
+ * {9600, 19200, 38400, 57600, 115200} baud. Additionally you should register a
+ * callback function that is executed in interrupt context when data is being received.
+ * The driver will then read the received data byte, call the registered callback
+ * function and pass the received data to it via its argument. The interface enforces
+ * the receiving to be impemented in an interrupt driven mode. Thus, you never now how
+ * many bytes are going to be received and might want to handle that in your specific
+ * callback function. The transmit function can be implemented in any way
+ *
+ * By default the @p UART_DEV(0) device of each board is initialized and mapped to STDIO
+ * in RIOT which is used for standard input/output functions like `printf()` or
+ * `puts()`.
+ *
  * @file
  * @brief       Low-level UART peripheral driver interface definition
  *
-- 
GitLab