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.read() # 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, otherwise read as much data as possible.Return value: a bytes object containing the bytes read in. Returns
None
on timeout.
-
UART.
readinto
(buf[, nbytes])¶ Read bytes into the
buf
. Ifnbytes
is specified then read at most that many bytes. Otherwise, read at mostlen(buf)
bytes.Return value: number of bytes read and stored into
buf
orNone
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
.