ESP32 3.2.6 UART

2020-07-078431
AI 快速预览详细 收起
本文介绍了ESP32的UART配置与使用方法。首先,定义了UART类及其初始化参数,如波特率、位数、奇偶校验、引脚选择等。接着,详细说明了UART的常用函数,如读取数据、写入数据等。最后,提供了发送端和接收端的示例代码,展示了如何在ESP32上实现串行通信。

UART执行标准UART/USART双工串行通信协议。物理层上需要两根线: RX和TX。通信数据数据格式一般为字符格式。

class machine.UART(id, baudrate, bits, parity, rx, tx, stop, timeout)

id:串口号
    1、2
baudrate:波特率
bits:每个字符的位数
parity:奇偶校验
    0 — 偶数
    1 — 奇数
rx,tx:UART读,写引脚
    Pin(0)、Pin(2)、Pin(4)、Pin(5)、Pin(9)、Pin(10)、Pin(12~19)、Pin(21~23)、Pin(25)、Pin(26)、Pin(34~36)、Pin(39)
    注:Pin(1)、Pin(3)被占用,一般不建议作tx,rx使用
stop:停止位数量
      1、2
timeout:超时时间(单位:毫秒)
    0 < timeout ≤ 0x7FFF FFFF (十进制:0 < timeout ≤ 2147483647)
定义UART

示例:

from machine import UART

uart = UART(2, baudrate=115200, bits=8, parity=0, rx=9, tx=27, stop=1, timeout=10)

类函数

1. UART.init(baudrate, bits, parity, stop, tx, rx, rts, cts))

函数说明:初始化串口。

2. UART.read(nbytes)

函数说明:读取nbytes个字节。

3. UART.read()

函数说明:读取数据。

4. UART.write(buf)

函数说明: 将字节缓冲区写入UART总线。

5. UART.readline()

函数说明:读一行数据,以换行符结束。

6. UART.readinto(buf)

函数说明:读取并写数据到缓冲区。

7. UART.readinto(buf, nbytes)

函数说明:读取并写入数据到缓冲区。
nbytes:读取的字节数

8. UART.any()

函数说明:判断串口是否有数据。有则返回字节数,否则返回0。

综合示例

发送端示例

from machine import UART
import time
u = UART(2, baudrate=115200, bits=8, parity=0, rx=9, tx=27, timeout=10) 
try:
  while True:
    u.write("ss")
    time.sleep(0.2)  
except:
  pass

接收端示例

from machine import UART
import time
u = UART(2, baudrate=115200, bits=8, parity=0, rx=9, tx=27, timeout = 10)
try:
  while True:
    if(u.any()):
      print(u.read())
except:
  pass

演示效果

ESP32 3.2.6 UART图1

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(1)
BG6IB
BG6IB
这个函数好,可以随意使用任何一个引脚,板子打错最好的选择
- 没有更多了 -