class UART – duplex serial communication bus

UART implements the standard UART/USART duplex serial communications protocol. At the physical level it consists of 2 lines: RX and TX. The unit of communication is a character (not to be confused with a string character) which can be 8 or 9 bits wide.

UART objects can be created and initialised using:

from machine import UART

uart = UART(1, 9600)                         # init with given baudrate
uart.init(9600, bits=8, parity=None, stop=1) # init with given parameters

A UART object acts like a stream object and reading and writing is done using the standard stream methods:

uart.read(10)       # read 10 characters, returns a bytes object
uart.readall()      # read all available characters
uart.readline()     # read a line
uart.readinto(buf)  # read and store into the given buffer
uart.write('abc')   # write the 3 characters

Individual characters can be read/written using:

uart.readchar()     # read 1 character and returns it as an integer
uart.writechar(42)  # write 1 character

To check if there is anything to be read, use:

uart.any()               # returns True if any characters waiting

Constructors

Methods

UART.deinit()

Turn off the UART bus.

UART.any()

Return the number of characters available for reading.

UART.read([nbytes])

Read characters. If nbytes is specified then read at most that many bytes.

Return value: a bytes object containing the bytes read in. Returns None on timeout.

UART.readall()

Read as much data as possible.

Return value: a bytes object or None on timeout.

UART.readinto(buf[, nbytes])

Read bytes into the buf. If nbytes is specified then read at most that many bytes. Otherwise, read at most len(buf) bytes.

Return value: number of bytes read and stored into buf or None on timeout.

UART.readline()

Read a line, ending in a newline character.

Return value: the line read or None on timeout.

UART.write(buf)

Write the buffer of bytes to the bus.

Return value: number of bytes written or None on timeout.

UART.sendbreak()

Send a break condition on the bus. This drives the bus low for a duration of 13 bits. Return value: None.

Constants

UART.EVEN
UART.ODD

parity types (along with None)

UART.RX_ANY

IRQ trigger sources