* On-chip serial USART driver for the 8-bit AVR microcontrollers.
*
* \note This file should not be included directly. It is automatically included as needed by the USART driver
* dispatch header located in LUFA/Drivers/Peripheral/Serial.h.
*
* On-chip serial USART driver for the 8-bit AVR microcontrollers.
*
* \note This file should not be included directly. It is automatically included as needed by the USART driver
* dispatch header located in LUFA/Drivers/Peripheral/Serial.h.
*
* The following snippet is an example of how this module may be used within a typical
* application.
*
* \code
* // Initialize the serial USART driver before first use, with 9600 baud (and no double-speed mode)
* Serial_Init(9600, false);
* The following snippet is an example of how this module may be used within a typical
* application.
*
* \code
* // Initialize the serial USART driver before first use, with 9600 baud (and no double-speed mode)
* Serial_Init(9600, false);
* // Send a string through the USART
* Serial_SendString("Test String\r\n");
*
* // Send a raw byte through the USART
* Serial_SendByte(0xDC);
* // Send a string through the USART
* Serial_SendString("Test String\r\n");
*
* // Send a raw byte through the USART
* Serial_SendByte(0xDC);
* // Receive a byte through the USART (or -1 if no data received)
* int16_t DataByte = Serial_ReceiveByte();
* \endcode
* // Receive a byte through the USART (or -1 if no data received)
* int16_t DataByte = Serial_ReceiveByte();
* \endcode
* \param[in] Buffer Pointer to a buffer containing the data to send.
* \param[in] Length Length of the data to send, in bytes.
*/
* \param[in] Buffer Pointer to a buffer containing the data to send.
* \param[in] Length Length of the data to send, in bytes.
*/
/** Creates a standard character stream from the USART so that it can be used with all the regular functions
* in the avr-libc \c <stdio.h> library that accept a \c FILE stream as a destination (e.g. \c fprintf). The created
/** Creates a standard character stream from the USART so that it can be used with all the regular functions
* in the avr-libc \c <stdio.h> library that accept a \c FILE stream as a destination (e.g. \c fprintf). The created
* \pre The USART must first be configured via a call to \ref Serial_Init() before the stream is used.
*/
void Serial_CreateStream(FILE* Stream);
* \pre The USART must first be configured via a call to \ref Serial_Init() before the stream is used.
*/
void Serial_CreateStream(FILE* Stream);
* \param[in] DoubleSpeed Enables double speed mode when set, halving the sample time to double the baud rate.
*/
static inline void Serial_Init(const uint32_t BaudRate,
* \param[in] DoubleSpeed Enables double speed mode when set, halving the sample time to double the baud rate.
*/
static inline void Serial_Init(const uint32_t BaudRate,