【新手基础教程】片上外设之 UART 的使用

这篇新手教程详细介绍了如何使用UART进行通信,包括从machine模块导入UART,配置PIN脚,创建UART对象以及读写数据的基本操作。还提供了一个简单的示例,即接收并回送串口数据。
摘要由CSDN通过智能技术生成

UART 的使用

关于 UART 详细介绍请参考UART-API 文档.

1. 使用方法

  • 从 machine 导入 UART 模块
from machine import UART

  • 配置使用到的 pin 脚为 UART 功能
fm.register(10, fm.fpioa.UART1_TX, force=True)
fm.register(11, fm.fpioa.UART1_RX, force=True)

  • 创建 UART 对象
uart = UART(UART.UART1, 115200, 8, 1, 0, timeout=1000, read_buf_len=4096)

  • 读写数据
uart.write(b'hello world')
read_data = uart.read()

2. 示例

将串口接收到的数据发送回去

from fpioa_manager import fm
from machine impor
在给出的代码中,有几个问题需要进行修正: 1. 缺少变量声明:在代码的开头,缺少对 `uart`、`SendArray` 和 `SendModel` 变量的声明。你需要在使用这些变量之前进行声明和初始化。 2. 主函数声明错误:在 Python 中,主函数应该使用 `def main():` 的方式进行声明,而不是 `void main(){}` 的方式。此外,在 Python 中,代码的执行是从顶层开始的,所以你需要在主函数的末尾添加 `main()` 来启动程序。 3. 代码缩进错误:Python 是一种强制缩进的语言,所以你需要确保所有的代码块都正确缩进。在给出的代码中,有几个地方的缩进是错误的。 下面是修改后的代码: ```python import pyb import sensor, image, time, math from machine import UART from pyb import LED import os, tf def main(): uart = UART(1) # 初始化 UART 对象 SendArray = [0, 0, 0, 0, 0, 0] # 初始化 SendArray SendModel = 0 while True: uart_num = uart.any() # 获取当前串口数据数量 if uart_num: uart_str = uart.read(uart_num).strip() # 读取串口数据 print(str(uart_str)) SendArray[i] += 128 print("发送数据:", SendArray) uart.write(bytearray(SendArray)) SendModel = 0 SendArray = [0, 0, 0, 0, 0, 0] # 数组归零 FinalNumResult = [] if __name__ == "__main__": main() ``` 请注意,以上修改是基于我对代码的理解和修正。如果你有其他特定的需求或者问题,请提供更多的细节,以便我可以更好地帮助你。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值