解决方案

K210学习 (三)串口

seo靠我 2023-09-22 23:23:45

前言

uart 模块主要用于驱动开发板上的异步串口,可以自由对 uart 进行配置。k210 一共有3个 uart,每个 uart 可以进行自由的引脚映射

一、K210串口使用步骤

1.库的导入

from mSEO靠我achine import UART from board import board_info from fpioa_manager import fm

2.引脚映射

在使SEO靠我用 uart 前,我们需要使用 fm 来对芯片引脚进行映射和管理。如下所示,将 PIN10 设置为 uart1的发送引脚,PIN11 设置为 uart1 的接收引脚。

fm.register(boardSEO靠我_info.PIN10, fm.fpioa.UART1_TX, force=True) fm.register(board_info.PIN11, fm.fpioa.UART1_RX,SEO靠我 force=True)

3.构造函数

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

通过指定的参数新建SEO靠我一个 UART 对象

参数说明:uart: UART 号,使用指定的 UART,可以通过 machine.UART. 按tab键来补全baudrate: UART 波特率bits: UART 数据宽度,SEO靠我支持 5/6/7/8 (默认的 REPL 使用的串口(UARTHS)只支持 8 位模式), 默认 8parity: 奇偶校验位,支持 None, machine.UART.PARITY_ODD, maSEO靠我chine.UART.PARITY_EVEN (默认的 REPL 使用的串口(UARTHS)只支持 None), 默认 Nonestop: 停止位, 支持 1, 1.5, 2, 默认 1timeoutSEO靠我: 串口接收超时时间read_buf_len: 串口接收缓冲,串口通过中断来接收数据,如果缓冲满了,将自动停止数据接收

 4.串口初始化

uart.init(baudrate,bits,parity,stoSEO靠我p,timeout, read_buf_len)

5.功能函数

1、

uart.read(num)

参数

num: 读取字节的数量,一般填入缓冲大小,如果缓冲中数据的数量没有 num 大,那么将只返回缓冲中剩SEO靠我余的数据

返回值

bytes类型的数据

2.

uart.readline(num)

用于读取串口缓冲数据的一行

参数

num: 读取行的数量

返回值

*bytes类型的数据

3、

uart.write(buf)

用于使SEO靠我用串口发送数据

参数

buf: 需要发送到数据

返回值

写入的数据量

4、

uart.deinit()

注销 UART 硬件,释放占用的资源

参数

返回值

例程

在运行里程之前,请确认 PIN4 已经连接到 PSEO靠我IN10, PIN3 已经连接到 PIN11

运行程序后,可以在终端看到 baudrate:115200 bits:8 parity:0 stop:0 ---check Successfully 的打印SEO靠我信息

以下例程对于Bit开发是不能直接进行使用,需要修改对应可用的PIN脚,可自行尝试

from machine import UART from board import board_iSEO靠我nfo from fpioa_manager import fm## maixduino board_info PIN10/PIN11/PIN12/PIN13 or other harSEO靠我dware IO 10/11/4/3 fm.register(board_info.PIN10, fm.fpioa.UART1_TX, force=True) fm.rSEO靠我egister(board_info.PIN11, fm.fpioa.UART1_RX, force=True) fm.register(board_info.PIN3, fm.fpiSEO靠我oa.UART2_TX, force=True) fm.register(board_info.PIN4, fm.fpioa.UART2_RX, force=True)uart_A =SEO靠我 UART(UART.UART1, 115200, 8, 0, 0, timeout=1000, read_buf_len=4096) uart_B = UART(UART.UART2SEO靠我, 115200, 8, 0, 0, timeout=1000, read_buf_len=4096)write_str = hello world for i in range(20SEO靠我):uart_A.write(write_str)read_data = uart_B.read()if read_data:read_str = read_data.decode(utf-8)priSEO靠我nt("string = ", read_str)if read_str == write_str:print("baudrate:115200 bits:8 parity:0 stop:0 ---cSEO靠我heck Successfully")uart_A.deinit() uart_B.deinit() del uart_A del uart_B
“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2