machine.UART 类——双工串行通信总线

UART 实现标准的 UART/USART 双工串行通信协议。在物理层,它由 2 条线组成:RX 和 TX。通信单位是一个字符(不要与字符串字符混淆),它可以是 8 位或 9 位宽。

UART 实现标准的 UART/USART 双工串行通信协议。在物理层,它由 2 条线组成:RX 和 TX。通信单位是一个字符(不要与字符串字符混淆),它可以是 8 位或 9 位宽。

可以使用以下方法创建和初始化 UART 对象:

from machine import UART 
uart = UART(1, 9600) # init with given baudrate 
uart.init(9600, bits=8, parity=None, stop=1) # init with given parameters 

支持的参数因电路板而异:

UART 对象就像一个stream 对象,读写是使用标准流方法完成的:

uart.read(10) # read 10 characters, returns a bytes object 
uart.read() # read all available characters 
uart.readline() # read a line 
uart.readinto(buf) # read and store into the given buffer 
uart.write('abc') # write the 3 characters 

构造函数

class machine.UART(id...)

构造给定 id 的 UART 对象。

方法

UART.init(baudrate=9600bits=8parity=Nonestop=1*...)

使用给定的参数初始化 UART 总线:

  • baudrate是时钟速率。

  • bits是每个字符的位数,7、8 或 9。

  • parity是奇偶校验,None0(偶数)或 1(奇数)。

  • stop是停止位的数量,1 或 2。

端口可能支持的其他仅关键字参数包括:

  • tx指定要使用的 TX 引脚。

  • rx指定要使用的 RX 引脚。

  • txbuf指定 TX 缓冲区的字符长度。

  • rxbuf指定 RX 缓冲区的字符长度。

  • timeout指定等待第一个字符的时间(以毫秒为单位)。

  • timeout_char指定在字符之间等待的时间(以毫秒为单位)。

  • invert指定要反转的行。

UART.deinit()

关闭 UART 总线。

UART.any()

返回一个整数,计算可以在不阻塞的情况下读取的字符数。如果没有可用字符,则返回 0,如果有字符,则返回正数。即使有多个字符可供读取,该方法也可能返回 1。

要更复杂地查询可用字符,请使用 select.poll:

poll = select.poll() 
poll.register(uart, select.POLLIN) 
poll.poll(timeout) 

UART.read([nbytes])

读取字符。如果nbytes指定,则最多读取那么多字节,否则读取尽可能多的数据。如果达到超时,它可能会更快返回。超时可在构造函数中配置。

返回值:包含读入字节的字节对象。None 超时时返回。

UART.readinto(buf[, nbytes])

将字节读入buf. 如果nbytes 指定,则最多读取那么多字节。否则,最多读取len(buf) 字节。如果达到超时,它可能会更快返回。超时可在构造函数中配置。

返回值:读取并存储到buf 或 None 超时的字节数。

UART.readline()

读取一行,以换行符结尾。如果达到超时,它可能会更快返回。超时可在构造函数中配置。

返回值:读取或 None 超时的行。

UART.write(buf)

将字节缓冲区写入总线。

返回值:写入或 None 超时的字节数。

UART.sendbreak()

在总线上发送中断条件。这会在比正常传输字符所需的时间更长的时间内将总线驱动为低电平。

- 本文内容来自网络,如有侵权,请联系本站处理。

2022-05   阅读(31)   评论(0)
 标签: 编程 MicroPython

涨知识
3D打印

3D打印技术是增材制造技术,它利用计算机将需打印的物体3D模型切成一系列一定厚度的“薄片”,3D打印机自下而上地制造出每一层“薄片”,最后叠加成形出三维的实体物件。

评论:
相关文章
ESP32 MicroPython存储数据到闪存

在MicroPython的ESP32库中,NVS类用于管理非易失性存储,支持 32 位有符号整数和 二进制blob。


MicroPython umqtt库的使用

umqtt 是 MicroPython 的一个轻量级 MQTT 客户端库,使得在微控制器上使用 MQTT 协议变得简单易行。本文将介绍 umqtt 的实用方法,帮助您更好地在项目中应用这一技术。


小鹏物联网 MicroPython 图像采集方案

本方案是一个基于ESP32-CAM + 物联网的图像采集方案。


esp32cam开发板烧录micropython固件

‌ESP32-CAM与MicroPython结合可实现摄像头图像采集、视频流传输等功能,不过Micropython官方没有支持ESP32-CAM的固件,需要烧录第三方的专有固件。


小鹏物联网 MicroPython 智能浇花方案

相信很多人都有把绿植给养死的经历,可能是浇水过多、忘记浇水、较长时间不在家不能浇水等,本文介绍一种可以灵活定制的智能浇花方案。


MicroPython 开发ESP32应用之线程介绍及实例分析

MicroPython 在 ESP32 上支持线程(Thread)功能,通过_thread模块实现。线程允许程序并发执行多个任务,适合处理需要同时运行的场景,例如传感器数据采集和网络通信。


ESP32 MicroPython采集模拟传感器数值

使用了 MicroPython 库,通过 定时器(Timer) 和 ADC(模数转换器) 功能来实时读取传感器数据。使用定时器可以实现高精度、非阻塞、低资源消耗的周期性任务,保证实时性和可靠性,特别适用于嵌入式系统中的多任务处理和低功耗场景。


Raspberry Pi Pico TFT LCD 触摸屏使用教程

本教程将向您展示如何使用micropython脚本设置Pico和TFT触摸显示屏。您将学习如何使用触摸屏控制Pico以及如何在屏幕上显示信息。


ESP32 MicroPython外部引脚中断处理

本文旨在介绍如何在运行MicroPython的ESP32上使用外部引脚中断功能。


ESP32 MicroPython功耗控制

本节内容为大家讲解ESP32使用MicroPython的功耗控制方法。

搜索
最新课件
小鹏STEM教研服务

专属教研服务系统,助您构建STEM课程体系,打造一站式教学环境。