k210——maix bit串口通信

k210——串口通信

k210 一共有3个 uart,每个 uart 可以进行自由的引脚映射。

一、API函数介绍

1.1 register(pin, function, force=True)

K210 可以通过映射来改变引脚功能,设置引脚(pin)对应的外设功能(func),默认启用强制绑定参数(force=True)

pin: 功能映射引脚

function: 芯片功能

force: 默认为True,强制分配,多次对一个引脚注册

例:

from fpioa_manager import fm
fm.register(16, fm.fpioa.GPIO2)

1.2 新建UART对象

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

uart: UART号

baudrate: 波特率

bits: UART数据宽度,默认8位

parity: 奇偶校验位,默认none

stop: 停止位,默认1

timeout: 串口接收超时时间

read_buf_len: 串口接收缓冲

例:

uart = UART(UART.UART1, 115200, 8, 0, 1, timeout=1000, read_buf_len=4096)

1.3 uart.read(num)

num: 读取字节数量,一般为缓冲大小

返回值: 返回bytes类型的数据

1.4 uart.write(buf)

buf: 需要发送的数据

返回值: 写入的数据量

1.5 str.decode(encoding=‘UTF-8’,errors=‘strict’)

在python中,使用unicode类型作为编码的基础类型,但其存储空间大,在存储和传输比较麻烦,所以要转成可变长编码的UTF-8编码,果要传输的文本包含大量英文字符,用UTF-8编码就能节省空间。

str.decode(encoding='UTF-8',errors='strict')

encoding: 要使用的编码,utf-8,gb2312,cp936,gbk等

如果以utf-8的编码对str进行解码得到的结果,将无法还原原来的字符串内容

u2 = str.decode('utf-8')

二、例程

from machine import UART,Timer
from fpioa_manager import fm

#映射串口引脚
fm.register(9, fm.fpioa.UART1_RX, force=True)
fm.register(10, fm.fpioa.UART1_TX, force=True)

#初始化串口
uart = UART(UART.UART1, 115200, 8, 0, 1, timeout=1000, read_buf_len=4096)
#向串口发送数据
uart.write('caicai\r\n')

while True:

    data=uart.read() #串口助手发送并读取数据

    if data: #如果读取到了数据
        print(data.decode('utf-8')) #REPL打印
        uart.write('receive '+data.decode('utf-8')+'\r\n') #数据回传到串口助手显示

三、实验结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_56321457/article/details/126275530
今日推荐