转自:https://quadmeup.com/arduino-esp32-and-3-hardware-serial-ports/
When working with ESP32 WiFi/Bluetooth MCU under Arduino SDK for ESP32, you will notice that Serial work just fine. But Serial1 and Serial2 do not. ESP32 has 3 hardware UARTs that can be mapped to almost any pin. But, Serial1 and Serial2 will not work. In case of ESP32 this just has to be done in a slightly different way:
The trick is to use HardwareSerial library to access UART 1 and 2 instead of Serial1 and Serial2
- Class
HardwareSerialaccepts one parameter in constructor, it is a number of UART. Values from0(UART 1) to2(UART 3) - HardwareSerial(0) is the same as
Serialso be aware beginmethod accepts 4 parameters- baud speed
- UART mode
- RX pin
- TX pin
The real beauty of this solution is that almost any pin can be used as TX or RX pin for any UART. Most ESP32 dev boards have labels like TX2 or RX2, but you really do not have to exactly those pins. Every other GPIO pin can act as Serial RX, but only the ones between GPIO0 and GPIO31 can be used as TX. Still, that gives plenty of pins to choose from…
More about ESP32 can be read in Getting Started With ESP32 and Arduino post.
本文详细介绍了在Arduino SDK环境下,如何利用ESP32的三个硬件UART串口。通过使用HardwareSerial库,可以将UART1和UART2映射到几乎任意引脚,实现灵活的串口通信配置。


1279

被折叠的 条评论
为什么被折叠?



