11. ESP32 Micropython编程(Thonny)UART串口通讯

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就会熄灭)
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
THE END
分享
二维码
< <上一篇
下一篇>>