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 - nbytesis specified then read at most that many bytes.- Return value: a bytes object containing the bytes read in. Returns - Noneon timeout.
- 
UART.readall()¶
- Read as much data as possible. - Return value: a bytes object or - Noneon timeout.
- 
UART.readinto(buf[, nbytes])¶
- Read bytes into the - buf. If- nbytesis specified then read at most that many bytes. Otherwise, read at most- len(buf)bytes.- Return value: number of bytes read and stored into - bufor- Noneon timeout.
- 
UART.readline()¶
- Read a line, ending in a newline character. - Return value: the line read or - Noneon timeout.
- 
UART.write(buf)¶
- Write the buffer of bytes to the bus. - Return value: number of bytes written or - Noneon timeout.
- 
UART.sendbreak()¶
- Send a break condition on the bus. This drives the bus low for a duration of 13 bits. Return value: - None.