2888|2

48

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【微雪 RP2040双核开发板】测试6——UART通信 [复制链接]

【微雪 RP2040双核开发板】测试6——UART通信

 

《微雪 RP2040双核开发板》具有丰富的外部接口,有2 个 UART,分别是UART0、UART1,对应的引脚分别是TX0(GPIO0)、RX0(GPIO1)、TX1(GPIO8)、RX1(GPIO9)。引脚下图。

 

本文主要介绍如何利用微雪RP2040双核开发板Micropython内置库模块machine的UART功能进行串口通信。

 

三、machine.UART类函数详解

1、UART对象构造函数

machine.UART(id,baudrate=115200,bits=8,parity=None,stop=1,tx=None,rx=None):

作用为初始化对应通道和引脚。各参数意义:

id:使用的UART通道,为0或者1;

baudrate: 波特率参数,取值可参考串口波特率取值

bits:数据位长度(现阶段仅8位有效)

parity:奇偶校验位,取值为None或1

stop:停止位长度,可取1,2

tx:TXD引脚,为Pin对象,取0或者8

rx:RXD引脚,为Pin对象,取1或者9。

注意:TXD为0,RXD只能为1;TXD为8,RXD只能为9。

2、UART.any()

any函数,用于检测当前接收缓冲区是否有数据,接收缓冲区有数据就返回1,否则返回0。

3、UART.read([nbytes])

read函数,用于读取字符串。

nbytes:如果指定了’nbytes,则最多读取这么多字节,否则读取尽可能多的数据。

4、UART.readline()

readline函数,读取一行,以换行符为结束标志。

UART.readinto(buf[, nbytes])

readinto:将读取字符串存入指定缓存中

buf:用于指定缓存

nbytes:如果指定了“nbytes”,则最多读取这么多字节,否则读取尽可能多的数据。

readinto函数,将读取字符串存入指定缓存中 buf用于指定缓存 nbytes和上文中read函数nbytes作用一致。

5、UART.write(buf)

write函数,用于发送字符串,返回值发送的字节数。

buf: 发送字符串 write函数用于发送字符串,并返回发送的字节数。 参数buf为需要发送的字符串。

6、UART.sendbreak()

sendbreak函数在总线上发送停止信号。 这会将总线驱动为低电平的时间比字符正常传输所需要的时间更长。

 

 

二、RP2040与CH340串口USB的连接

将RP2040的GPIO8、GPIO9发表人接CH340的RX和TX,在PC端打开串口通信软件XCOM,选择正确的串口(本例为COM4)。

三、运行

程序如下:

from machine import UART, Pin

import time

 

uart1 = UART(1, baudrate=115200, bits=8,parity=None,stop=1,tx=Pin(8), rx=Pin(9))

 

txData = b'Hello world! UART!\r\n'

uart1.write(txData)

time.sleep(0.1)

while True:

    rxData =bytes()

    AA=uart1.any()

    print(AA)

    time.sleep(1)

    if AA > 0:

        rxData =uart1.read(AA)

print(rxData.decode('utf-8'))

运行结果:

PC端XCOM软件:

 

Thonny环境:

 

四、总结

利用微雪RP2040的UART通信端口可以方便与其他设备实现数据传送,代码简单,运行可靠。有利于扩大RP2040的应用范围。

此帖出自消费电子论坛

最新回复

要轮询吗?有没有中断接收到的?或者不定长串口中断的例子。  详情 回复 发表于 2023-1-5 07:00
点赞 关注
 
 

回复
举报

6533

帖子

9

TA的资源

版主

沙发
 

H1和H2原来是引出来的引脚啊,看错了,一直以为是芯片呢

此帖出自消费电子论坛
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 
 

回复

7042

帖子

11

TA的资源

版主

板凳
 
要轮询吗?有没有中断接收到的?或者不定长串口中断的例子。
此帖出自消费电子论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表