Equivalent to the Arduino SoftwareSerial library, an emulated UART using one or two PIO state machines is included in the Arduino-Pico core. This allows for up to 4 bidirectional or up to 8 unidirectional serial ports to be run from the RP2040 without requiring additional CPU resources.
Instantiate a SerialPIO(txpin, rxpin, fifosize)
object in your sketch and then use it the same as any other serial port. Even, odd, and no parity modes are supported, as well as data sizes from 5- to 8-bits. Fifosize, if not specified, defaults to 32 bytes.
To instantiate only a serial transmit or receive unit, pass in SerialPIO::NOPIN
as the txpin
or rxpin
.
For example, to make a transmit-only port on GP16
SerialPIO transmitter( 16, SerialPIO::NOPIN );
For detailed information about the Serial ports, see the Arduino Serial Reference .
InversionSoftwareSerial
and SerialPIO
can both support inverted input and/or outputs via the methods setInvertRX(bool invert)
and setInvertTX(bool invert)
.
A SoftwareSerial
wrapper is included to provide plug-and-play compatibility with the Arduino Software Serial library. Use the normal #include <SoftwareSerial.h>
to include it. The following differences from the Arduino standard are present:
All ports are always listening
listen
call is a no-op
isListening()
always returns true
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4