【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)) #数据回传
