Hardware serial

Hardware serial UARTs. More...

Classes

class  HardwareSerial
 Hardware serial class. More...
 

Macros

#define UART_ID_0   0
 ID of UART 0. More...
 
#define UART_ID_1   1
 ID of UART 1. More...
 
#define NUMBER_UARTS   UART_COUNT
 Quantity of UARTs available. More...
 
#define DEFAULT_RX_BUFFER_SIZE   256
 
#define DEFAULT_TX_BUFFER_SIZE   0
 

Typedefs

typedef Delegate< void(Stream &source, char arrivedChar, uint16_t availableCharsCount)> StreamDataReceivedDelegate
 Delegate callback type for serial data reception. More...
 
typedef Delegate< void(HardwareSerial &serial)> TransmitCompleteDelegate
 Delegate callback type for serial data transmit completion. More...
 

Enumerations

enum  SerialConfig {
  SERIAL_5N1 = UART_5N1, SERIAL_6N1 = UART_6N1, SERIAL_7N1 = UART_7N1, SERIAL_8N1 = UART_8N1,
  SERIAL_5N2 = UART_5N2, SERIAL_6N2 = UART_6N2, SERIAL_7N2 = UART_7N2, SERIAL_8N2 = UART_8N2,
  SERIAL_5E1 = UART_5E1, SERIAL_6E1 = UART_6E1, SERIAL_7E1 = UART_7E1, SERIAL_8E1 = UART_8E1,
  SERIAL_5E2 = UART_5E2, SERIAL_6E2 = UART_6E2, SERIAL_7E2 = UART_7E2, SERIAL_8E2 = UART_8E2,
  SERIAL_5O1 = UART_5O1, SERIAL_6O1 = UART_6O1, SERIAL_7O1 = UART_7O1, SERIAL_8O1 = UART_8O1,
  SERIAL_5O2 = UART_5O2, SERIAL_6O2 = UART_6O2, SERIAL_7O2 = UART_7O2, SERIAL_8O2 = UART_8O2
}
 
enum  SerialMode { SERIAL_FULL = UART_FULL, SERIAL_RX_ONLY = UART_RX_ONLY, SERIAL_TX_ONLY = UART_TX_ONLY }
 values equivalent to uart_mode_t More...
 
enum  SerialStatus { eSERS_BreakDetected, eSERS_Overflow, eSERS_FramingError, eSERS_ParityError }
 Notification and error status bits. More...
 

Variables

HardwareSerial Serial
 Global instance of serial port UART0. More...
 
enum  AtState { eAtOK = 0, eAtRunning, eAtError }
 
typedef Delegate< bool(AtClient &atClient, Stream &source)> AtReceiveCallback
 
typedef Delegate< bool(AtClient &atClient, String &reply)> AtCompleteCallback
 
#define AT_REPLY_OK   "OK"
 Asynchronous AT command client. More...
 
#define AT_TIMEOUT   2000
 

Detailed Description

Hardware serial UARTs.

Macro Definition Documentation

◆ AT_REPLY_OK

#define AT_REPLY_OK   "OK"

Asynchronous AT command client.

◆ AT_TIMEOUT

#define AT_TIMEOUT   2000

◆ DEFAULT_RX_BUFFER_SIZE

#define DEFAULT_RX_BUFFER_SIZE   256

◆ DEFAULT_TX_BUFFER_SIZE

#define DEFAULT_TX_BUFFER_SIZE   0

◆ NUMBER_UARTS

#define NUMBER_UARTS   UART_COUNT

Quantity of UARTs available.

◆ UART_ID_0

#define UART_ID_0   0

ID of UART 0.

◆ UART_ID_1

#define UART_ID_1   1

ID of UART 1.

Typedef Documentation

◆ AtCompleteCallback

typedef Delegate<bool(AtClient& atClient, String& reply)> AtCompleteCallback

◆ AtReceiveCallback

typedef Delegate<bool(AtClient& atClient, Stream& source)> AtReceiveCallback

◆ StreamDataReceivedDelegate

typedef Delegate<void(Stream& source, char arrivedChar, uint16_t availableCharsCount)> StreamDataReceivedDelegate

Delegate callback type for serial data reception.

Parameters
sourceReference to serial stream
arrivedCharChar received
availableCharsCountQuantity of chars available stream in receive buffer
Note
Delegate constructor usage: (&YourClass::method, this)

This delegate is invoked when the serial receive buffer is full, or it times out. The arrivedChar indicates the last character received, which might be a '
' line ending character, for example.

If no receive buffer has been allocated, or it's not big enough to contain the full message, then this value will be incorrect as data is stored in the hardware FIFO until read out.

◆ TransmitCompleteDelegate

Delegate callback type for serial data transmit completion.

Note
Invoked when the last byte has left the hardware FIFO

Enumeration Type Documentation

◆ AtState

enum AtState
Enumerator
eAtOK 
eAtRunning 
eAtError 

◆ SerialConfig

Enumerator
SERIAL_5N1 
SERIAL_6N1 
SERIAL_7N1 
SERIAL_8N1 
SERIAL_5N2 
SERIAL_6N2 
SERIAL_7N2 
SERIAL_8N2 
SERIAL_5E1 
SERIAL_6E1 
SERIAL_7E1 
SERIAL_8E1 
SERIAL_5E2 
SERIAL_6E2 
SERIAL_7E2 
SERIAL_8E2 
SERIAL_5O1 
SERIAL_6O1 
SERIAL_7O1 
SERIAL_8O1 
SERIAL_5O2 
SERIAL_6O2 
SERIAL_7O2 
SERIAL_8O2 

◆ SerialMode

enum SerialMode

values equivalent to uart_mode_t

Enumerator
SERIAL_FULL 
SERIAL_RX_ONLY 
SERIAL_TX_ONLY 

◆ SerialStatus

Notification and error status bits.

Enumerator
eSERS_BreakDetected 

Break condition detected on receive line.

eSERS_Overflow 

Receive buffer overflowed.

eSERS_FramingError 

Receive framing error.

eSERS_ParityError 

Parity check failed on received data.

Variable Documentation

◆ Serial

Global instance of serial port UART0.

Note
Use Serial.function to access serial functions
Example:
Serial.begin(115200);
Serial uses UART0, which is mapped to pins GPIO1 (TX) and GPIO3 (RX).
Serial may be swapped to GPIO15 (TX) and GPIO13 (RX) by calling Serial.swap() after Serial.begin.
Calling swap again maps UART0 back to GPIO1 and GPIO3.