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
Supported parameters differ on a board:
Pyboard: Bits can be 7, 8 or 9. Stop can be 1 or 2. With parity=None, only 8 and 9 bits are supported. With parity enabled, only 7 and 8 bits are supported.
WiPy/CC3200: Bits can be 5, 6, 7, 8. Stop can be 1 or 2.
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
Methods¶
-
UART.
deinit
()¶ Turn off the UART bus.
-
UART.
any
()¶ Returns an integer counting the number of characters that can be read without blocking. It will return 0 if there are no characters available and a positive number if there are characters. The method may return 1 even if there is more than one character available for reading.
For more sophisticated querying of available characters use select.poll:
poll = select.poll() poll.register(uart, select.POLLIN) poll.poll(timeout)
-
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 longer than required for a normal transmission of a character.