uart串口通讯
一、串口硬件
ESP32-WROOM-32 有(0,1,2)三个串口端
- UART0: GPIO3(RXD)和GPIO1(TXD) 用于下载调试串口,引脚不可改变
- UART1: GPIO9(RXD)和GPIO10(TXD) 外接flash,使用时候请设置其他引脚连接
- UART2: GPIO16(RXD)和GPIO17(TXD) 可以直接使用
使用时候将 UART2 通过USB转TTL芯片 接到计算机
二、基本程序
在shell终端输入依次输入以下代码
>>> import machine
>>> uart = machine.UART(2,115200)
>>> uart
UART(2, baudrate=115201, bits=8, parity=None, stop=1, tx=17, rx=16, rts=-1, cts=-1, txbuf=256, rxbuf=256, timeout=0, timeout_char=1)
UART(串口号,波特率,8位数据,无奇偶校验,1位停止位,TXD引脚号,RXD引脚号,不使用rts和cts,发送和接收缓存区大小, , ,)
三、计算机控制板载led灯
在主编辑器中输入以下代码,并运行此脚本
import machine
led = machine.Pin(2, machine.Pin.OUT)
uart = machine.UART(2, 115200)
strmsg = ''
while True:
if uart.any() > 0:
strmsg = uart.read()
print(strmsg)
if 'on' in strmsg:
led.on()
uart.write('Turning ON led')
print('Turning ON led')
elif 'off' in strmsg:
led.off()
uart.write('Turning OFF led')
print('Turning OFF led')
else:
uart.write('Invalid command.')
print('Invalid command.')
在计算机上位机(串口调试助手之类的)软件中
- 输入
led_on 则板载led点亮 (字符中带on就会点亮) - 输入
led_off 则板载led熄灭 (字符中带off就会熄灭)
|