Ameba MicroPython: [RTL8722CSM] [RTL8722DM] UART

class UART – 通用异步收发传输器
示例
UART 发送和接收:
• 使用材料: Ameba x 1, USB转TTL串行模块 x 1
• 步骤:
UART是一种非常通用的通信协议,是微控制器的一个重要组成部分。 USB转TTL串行传输模块是一种可以将UART信号转换为USB信号的集成电路,以便我们可以在PC上看到UART日志。该模块经常用于包括Ameba在内的许多开发板上。但是,该模块在Ameba上的功能被保留用于LOG UART和固件上传,所以我们需要其他独立模块在Ameba和PC之间进行通信。
当前有2组UART引脚供MicroPython用户使用,它们分别是
Unit TX RX
0
PA_21
PA_22
3
PA_26
PA_25
在此示例中,我们使用第“0”组UART引脚来示范UART在Ameba上的工作方式。
如下图所示,将USB转TTL串行传输模块连接到引脚PA_21和PA_22
get-start-7
然后,将以下代码逐行复制并粘贴到REPL中,以查看其效果。
from machine import UART
uart = UART(tx="PA_21", rx= "PA_22")
uart.init()
uart.write('hello')
uart.read(5) # read up to 5 bytes
API 文件
构造函数
UART(unit [选填], baudrate [选填], databits [选填], stopbit [选填], paritybit [选填], timeout [optional], tx_pin [required], rx_pin [required])
创建一个与给定的TX和RX引脚相关联的UART对象,并通过使用其他相关参数进行配置后,便可以在引脚上做读写。
• unit: 代表可使用UART引脚组的ID,可输入0或3
• baudrate: 在Ameba上使用115200
• databits: 数据字节的数量,通常为7到8个字节
• stopbits: 停止位的字节数量,通常为1字节,1.5字节或2 字节
• paritybit: 用于奇偶校验,数值通常为none(无),odd(奇)或even(偶)
• timeout: 计算UART在超时(timeout)之前等待的时间 (以毫秒为单位)
• tx_pin: 发送端引脚,通常与接受器的RX引脚连接
• rx_pin: 接收端引脚,通常与发送器的TX引脚连接
Note: 并非所有参数都是必需的,因此如果不填,MicroPython将采用其默认值,下表为所有选填参数的默认值
Parameter Default Value
Unit
0
Baudrate
115200
Databits
8
Stopbits
1
Paritybit
0
Timeout
10 (ms)
方法
UART.init()
使用此方法初始化UART配置
 
UART.read(length [选填])
此方法用于从UART缓存中读取数据
• length: 接收数据的长度
 
UART.readline()
此方法功能类似于read()但每次会读出一行内容
 
UART.write(buffer [必填])
该方法将字节缓冲区发送到总线,并返回写入的字节数。
• buffer: 字节缓存区,可以存放的数据类型有字符串类型,整型等其他类型。
 
UART.irq_enable(bool [选填])
此方法有两种使用方式:
• 当没有传入任何参数,该方法检查UART中断请求(IRQ)的状态,如果启用了IRQ,它将返回True;如果禁用IRQ,则返回False
• 通过传入True/False来启用/禁用UART IRQ处理程序
 
UART.irq_handler(function [必填])
将Python处理函数传递给UART 中断请求,以便在发生UART事件时将其触发。
• function: 在Python中定义的函数或lambda函数
请先确认已安装QQ通讯软体