Q群:
电话:
邮箱:
地址:
machine.UART 类是 machine 模块下面的一个硬件类,用于对 UART 的配置和控制,提供对 UART 设备的操作方法。
类型 | 常量名称 | 含义 |
---|---|---|
数据长度 | UART.BITS_7 | 数据长度为 7bit |
UART.BITS_8 | 数据长度为 8bit | |
UART.BITS_9 | 数据长度为 9bit | |
校验位 | UART.PARITY_NONE | 没有校验位 |
UART.PARITY_EVEN | 偶数位校验 | |
UART.PARITY_ODD | 奇数位校验 | |
停止位 | UART.STOP_1 | 停止位长度为 1 |
UART.STOP_2 | 停止位长度为 2 | |
流控类型 | UART.FC_RTS | 硬件流控使用 RTS |
UART.FC_CTS | 硬件流控使用 CTS | |
UART.FC_NONE | 无流控 |
2.4.3.2 构造函数
构造函数 | class machine.UART(id,…) |
---|---|
功能 | 构造一个 UART 对象 |
参数说明 | Id:UART 编号,如传入 1 表示 uart1 设备; 省略部分与 Init 函数参数一致,可对创建的 uart 对象进行初始化 |
返回值 | 正常:返回创建的 machine.UART 类对象 |
machine. UART 类包括如下实例方法
方法名 | 说明 |
---|---|
UART.init() | 初始化 UART 总线 |
UART.deinit() | 关闭 UART 总线 |
UART.read() | 读取字符 |
UART.readline() | 读一行数据,以换行符结尾 |
UART.readinto() | 读取字符到 指定 buf 中 |
UART.readchar() | 读取一个字节数据 |
UART.write() | 将 buf 中的数据写入总线 |
UART.writechar() | 向总线写入一个字节数据 |
详细说明如下:
方法名称 | UART.init(baudrate=9600, *,bits=8, parity= UART.PARITY_NONE, stop=UART.STOP_1, flow= UART.FC_NONE, timeout=0, timeout_char=0, read_buf_len=64) |
---|---|
功能 | 根据参数初始化 UART 配置 |
参数说明 | baudrate:设置 UART 波特率,默认 9600; bits:设置每次发送数据的长度,可选 UART 常量中数据长度部分相关常量,默认设置为 8; parity:设置校验方式,可选 UART 常量中校验位部分相关常量,默认设置为无校验; stop:设置停止位,可选 UART 常量中停止位部分相关常量,默认为 1 位停止位; flow:设置流控类型,可选 UART 常量中流控类型部分相关常量,可采用或’|’进行多种选择,默认选择无流控; timeout:设置等待写入/读取第一个字符时的超时时间(单位 ms),默认为 0; timeout_char:设置写入或读取字符之间等待的超时时间(单位 ms); read_buf_len:设置读取缓冲区的字符长度(禁用为 0),默认 64 字节; |
返回值 | 固定返回 None |
注:timeout 与 timeout_char 同时为 0 时即为非阻塞状态。
方法名称 | UART.deinit() |
---|---|
功能 | 关闭 UART 总线 |
参数说明 | 无参数 |
返回值 | 固定返回 None |
注:关闭 UART 对象后,需重新 init 才能正常使用 UART 对象。
方法名称 | UART.read([nbytes]) |
---|---|
功能 | 读取字符 |
参数说明 | [nbytes]为可选参数,若传入 nbytes,则最多读取 nbytes 个字节数据,若未传入,则会读取尽可能多的数据。 |
返回值 | 返回一个包含读入数据的字节对象。如果超时则返回 None |
方法名称 | UART.readline() |
---|---|
功能 | 读一行数据,以换行符结尾。如果存在这样的行,则立即返回。如果超时,则无论是否存在换行符,都会返回所有可用数据。 |
参数说明 | 无参数 |
返回值 | 返回行读取数据,如果超时或无可用数据则返回 None |
注:若数据接收缓存区满但未超时也会返回所有可用数据
方法名称 | UART.readinto(buf [,nbytes ]) |
---|---|
功能 | 读取字符到 指定 buf 中 |
参数说明 | buf:读取字符保存 buf; [nbytes]为可选参数,若指定 nbytes,则最多读取 nbytes 个字节,若未指定,则会读取尽可能多的数据。 且读取数据最大长度不超过 buf 长度。 |
返回值 | 返回读取和存储到 buf 中的字节数。如果超时则返回 None |
方法名称 | UART.readchar() |
---|---|
功能 | 读取一个字节数据 |
参数说明 | 无参数 |
返回值 | 返回读取到的字节对象,如果超时则返回 None |
方法名称 | UART.write(buf) |
---|---|
功能 | 将 buf 中的数据写入总线 |
参数说明 | buf:欲写入的字节数据 |
返回值 | 返回写入的字节数,如果超时则返回 None |
方法名称 | UART.writechar(buf) |
---|---|
功能 | 将 buf 中的一字节数据写入总线 |
参数说明 | buf:欲写入的一字节数据 |
返回值 | 返回写入的字节数,如果超时则返回 None |