【2022得捷电子创新设计大赛】最晚开箱帖
【2022得捷电子创新设计大赛】1. ESP32-S2环境搭建及点灯
【智能网络台灯】2. 设置系统时间以及打印
【智能网络台灯】3. ESP32-S2 + lvgl使用
【智能网络台灯】4. ESP32-S2 板载按键使用
【智能网络台灯】5. ESP32-S2 使用sntp进行网络校时
【智能网络台灯】6. ESP32-S2解决RAM空间开销过大的问题
前言
前期软件开发都是在ESP32S2上做的,打算使用Maix bit来做摄像,检测光纤强度,所以会涉及到ESP32S2与Maix bit之前的通信,使用uart来通信相对而言简单快速,并且对资源暂用很少。
本贴讲述如何在maix bit上驱动串口,实现很简单。
介绍
对串口的使用可以参考官方文档:https://wiki.sipeed.com/soft/maixpy/zh/api_reference/machine/uart.html#read
maix bit很好的一点就是,任何一个引脚都可以映射作为外设使用,这点很方便。
硬件连接
IO9 -- RX
IO10 -- TX
开发阶段先使用USB-TTL工具连接IO9与IO10,连接关系如下:
USB-TTL Maix Bit
RX IO10
TX IO9
软件实现
软件开发使用python,需要先进行IO口的映射,然后初始化串口波特率为115200,8位,无停止位与就校验位。最后循环打印hello world字符串,一秒钟打印一次。
from machine import UART
from board import board_info
from fpioa_manager import fm
import utime
# 初始化串口,PIN10为TX,PIN9为RX
fm.register(board_info.PIN10, fm.fpioa.UART1_TX, force=True)
fm.register(board_info.PIN9, fm.fpioa.UART1_RX, force=True)
# 设置串口参数,波特率为115200
uart_A = UART(UART.UART1, 115200, 8, 0, 0, timeout=1000, read_buf_len=4096)
write_str = 'hello world\r\n'
while(True):
uart_A.write(write_str)
print("string = ", write_str)
utime.sleep_ms(1000)
实现效果
使用maixpyide将代码发送到maix bit中调试效果如下: