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   阅读(20)   评论(0)
 标签: program MicroPython

涨知识
递归

递归简单点来说,就是一个函数直接或间接调用自身的一种方法,它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解。

评论:
相关文章
小鹏物联网 MicroPython 智能浇花方案

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


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

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


ESP32 MicroPython采集模拟传感器数值

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


MicroPython PWM类

machine.pwm是MicroPython中用于控制PWM输出的模块之一,它提供了一些方法和属性,用于设置和控制PWM输出的频率、占空比等参数,从而实现对各种应用场景的控制。


Micropython Pin类

Pin 类是 machine 模块下面的一个硬件类,用于对引脚的配置和控制,提供对 GPIO 的操作方法。


Micropython基于ESP32的多线程开发

本文学习如何使用ESP32开发板来进行多线程的开发。


MicroPython SPI类

MicroPython的SPI是一个用于进行串行外设接口总线协议的类。


ESP32 使用 MicroPython:I2C 总线

本文以一个简单的例程帮助大家在 MicroPython 下使用 I2C


binascii – 二进制/ASCII 转换模块

binascii模块实现了相应 CPython 模块的一个子集。


Thonny 4.1.3 下载

Thonny是一款免费的、开源的、易于使用的编程语言,旨在为初学者提供简单易用的编程环境。 Thonny的语法简洁易懂,同时还支持自动补全和语法高亮,使得编程变得更加便捷。

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

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