【01Studio MaixPy AI K210】8.串口通信

目录

(以下内容均为个人所学总结,希望对你有所帮助,感谢你的阅读!!!)

硬件准备:

USB转TTL串口、01Studio K210核心板、母对母杜邦线

具体见电路连接部分。

引脚图:

电路连接

USB转TTL上的TXD、RXD引脚可接到任意的IO口。TXD->RX,RXD->TX,IO口引脚对应的串口引脚要互换连接。

导包:

from machine import UART,Timer
from fpioa_manager import fm

UART库

读取串口缓冲数据
【num】读取字节数

UART.read(num)


读取串口缓冲数据的行
【num】行数

UART.readline(num)


串口发送数据
【buf】需要发送的数据

UART.write(buf)

#注销串口
UART.deinit()

注册引脚:

【pin】芯片外部 IO 
【function】芯片功能
【force】=True 则强制注册,清除之前的注册记录

fm.register(pin,function,force=False)
K210 一共有 3 个串口,每个串口可以自由映射引脚
6,7对应底板引脚,可以随便改
TXD->RX,RXD->TX,IO口引脚对应的串口引脚要互换连接

fm.register(6, fm.fpioa.UART1_RX, force=True)
fm.register(7, fm.fpioa.UART1_TX, force=True)

初始化串口:

创建 UART 对象。
【uart】串口编号。[UART.UART1~UART3]
【baudrate】波特率,常用 115200、9600
【bits】数据位,默认 8 
【parity】校验;默认 None, 0(偶校验),1(奇校验) 
【stop】停止位,默认 1 
【timeout】串口接收超时时间
【read_buf_len】串口接收缓冲大小。

machine.UART(uart,baudrate,bits,parity,stop,timeout, read_buf_len)
uart = UART(UART.UART1, 115200, read_buf_len=4096)

例程:

main.py

TXD->IO18
RXD->IO16

通过串口通信,跟电脑串口助手实现数据收发


from machine import UART,Timer
from fpioa_manager import fm

#映射串口引脚,TXD->RX,RXD->TX,IO口引脚对应的串口引脚要互换连接
fm.register(18, fm.fpioa.UART1_RX, force=True)
fm.register(16, fm.fpioa.UART1_TX, force=True)

#初始化串口
uart = UART(UART.UART1, 115200, read_buf_len=4096)
uart.write(Hello 01Studio!)


while True:

    text=uart.read() #读取数据

    if text: #如果读取到了数据
        uart.write(Hello 01Studio!
)
        print(text.decode(utf-8)) #REPL打印
        uart.write(I got +text.decode(utf-8)) #数据回传
经验分享 程序员 微信小程序 职场和发展