retargetserial.c File Reference

Provide stdio retargeting to USART/UART or LEUART.

Version
5.6.0

License

Copyright 2015 Silicon Labs, Inc. http://www.silabs.com

This file is licensed under the Silabs License Agreement. See the file "Silabs_License_Agreement.txt" for details. Before using this software for any purpose, you must agree to the terms of that agreement.

Definition in file retargetserial.c .

#include <stdio.h>
#include " em_device.h "
#include " em_cmu.h "
#include " em_core.h "
#include " em_gpio.h "
#include " retargetserial.h "
#include "retargetserialconfig.h"

Macros

#define _GENERIC_UART_STATUS_IDLE LEUART_STATUS_TXC
#define RXBUFSIZE 8

Functions

static void disableRxInterrupt ()
Disable RX interrupt.
static void enableRxInterrupt ()
Enable RX interrupt.
void RETARGET_IRQ_NAME (void)
UART/LEUART IRQ Handler.
int RETARGET_ReadChar (void)
Receive a byte from USART/LEUART and put into global buffer.
void RETARGET_SerialCrLf (int on)
UART/LEUART toggle LF to CRLF conversion.
bool RETARGET_SerialEnableFlowControl (void)
Enable hardware flow control. (RTS + CTS)
void RETARGET_SerialFlush (void)
Flush UART/LEUART.
void RETARGET_SerialInit (void)
Intializes UART/LEUART.
int RETARGET_WriteChar (char c)
Transmit single byte to USART/LEUART.

Variables

static bool initialized = false
static uint8_t LFtoCRLF = 0
static volatile uint8_t rxBuffer [ RXBUFSIZE ]
static volatile int rxCount = 0
static volatile int rxReadIndex = 0
static volatile int rxWriteIndex = 0