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 pyb 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
Note: The stream functions read
, write
, etc. are new in MicroPython v1.3.4.
Earlier versions use uart.send
and uart.recv
.
Constructors¶
Methods¶
-
uart.
deinit
()¶ Turn off the UART bus.
-
uart.
any
()¶ Return
True
if any characters waiting, elseFalse
.
-
uart.
read
([nbytes])¶ Read characters. If
nbytes
is specified then read at most that many bytes.
-
uart.
readall
()¶ Read as much data as possible.
Return value: a bytes object.
-
uart.
readchar
()¶ Receive a single character on the bus.
Return value: The character read, as an integer. Returns -1 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
.
-
uart.
readline
()¶ Read a line, ending in a newline character.
Return value: the line read.
-
uart.
write
(buf)¶
-
uart.
writechar
(char)¶ Write a single character on the bus.
char
is an integer to write. Return value:None
.
-
uart.
sendbreak
()¶ Send a break condition on the bus. This drives the bus low for a duration of 13 bits. Return value:
None
.