[经验分享] 【智能网络台灯】9. Maix bit驱动串口

hehung   2022-10-11 20:43 楼主

过往分享

【2022得捷电子创新设计大赛】最晚开箱帖
【2022得捷电子创新设计大赛】1. ESP32-S2环境搭建及点灯
【智能网络台灯】2. 设置系统时间以及打印
【智能网络台灯】3. ESP32-S2 + lvgl使用
【智能网络台灯】4. ESP32-S2 板载按键使用
【智能网络台灯】5. ESP32-S2 使用sntp进行网络校时
【智能网络台灯】6. ESP32-S2解决RAM空间开销过大的问题

【智能网络台灯】7. 获取实时天气信息并解析

【智能网络台灯】8. Maix bit驱动RGB

 

前言

前期软件开发都是在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中调试效果如下:

1.png

回复评论 (1)

Maix bit驱动串口,按楼主的方法,在maix bit上驱动串口,实现确实很简单。

点赞  2022-10-14 07:51
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复