Micropython——基于Micro-USB口实现和UART上下位机串口通信

其实本质上Micropython的USB口就是一个UART,就是板子上没有的UART0,所以这里我们只需要使用一个pyb内置类pyb.USB_VCP,就可以通过函数去控制VCP,和PC进行数据通信。

pyb.USB_VCP

一直以来,用USB串口时,直接用print函数就可以实现单片机在USB串口的数据发送功能,但是无法实现上位机发下来的数据的接收功能,所以用VCP就可以很好地实现数据的读取和发送功能。

PYB端

在使用pyb.USB_VCP时,只需要先声明,然后就基本和UART的API使用方法相同了。

import pyb
# 声明类
usb_vcp = pyb.USB_VCP()
# 检查是否连接
print(usb_vcp.isconnected())

while True:
    # 每秒发送一次,测试上位机是否能收到
    b = ("b"+"\n").encode("utf-8")
    usb_vcp.send(b)
    pyb.delay(1)

上位机代码

上位机直接测试能否接收到下位机穿上来的代码就行。

import serial

if __name__ == '__main__':
    ser = serial.Serial('COM1', 9600)
    while 1:
        a = "a".encode("utf-8")
        ser.write(a)
        b = ser.readline()#read a string from port
        b = b.decode("utf-8")
        print(b)

测试接收:完全ok!
在这里插入图片描述

不过有个缺点就是调试起来可能会和串口冲突,如果产品开发的差不多了,就可以直接用USB作为串口即可,挺好用的。

参考文章:

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
USB转TTL UART的电路图是一种用于将USB转换为TTL UART的电路设计。它通常用于将计算机的USB连接到需要TTL UART的设备上。 这种电路图通常包括以下组件: 1. USB串口芯片:用于在USB和TTL UART之间进行信号转换。常见的芯片有CH340、PL2303等。它负责将USB信号转换为TTL UART信号,并提供与计算机通信所需的驱动程序。 2. USB:用于将电路与计算机连接。常见的USB有Type-A和Micro-B接。它负责从计算机接收电源和数据信号。 3. TTL UART:用于与需要TTL UART信号的设备进行通信。它通常包括TX(发送)和RX(接收)线路,以及供电线路。这些线路通过电路板上的排针或引脚与目标设备连接。 4. 电源电路:负责为USB转TTL UART电路提供电源。一般来说,USB线缆的5V电源可以直接用于电路供电。电路可能包括稳压电路、滤波电容和过流保护电路等。 设计这种电路图时需要注意以下事项: 1. 选择合适的USB串口芯片,并根据其提供的规格手册连接正确的引脚。 2. 注意电路板的尺寸和布局,使其适配目标设备的连接要求。 3. 注重电源电路的设计,确保电流和电压稳定,并加入过流保护电路以保护芯片和设备。 总之,USB转TTL UART电路图是一种将USB转换为TTL UART的电路设计,它可以让计算机通过USB与需要TTL UART的设备进行通信。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值