devbox
小舞很执着
这个屌丝很懒,什么也没留下!
当前位置:   article > 正文

Micropython——基于USB-TTL模块实现和树莓派的上下位机串口通信_micropython uart外部设备hex通讯

micropython uart外部设备hex通讯

使用USB转TTL连接PYB和树莓派

USB转TTL模块PYB
VCCVCC
GNDGND
RXX1(UART4,TX)
TXX2(UART4,RX)
  • 将PYB的USB数据线和电脑相连,方便调试。
  • 将USB转TTL的USB端与树莓派相连,进行上下位机通信。

在这里插入图片描述

树莓派端

安装serial库
pip install serial
  • 1
查找usb口号找到USB转TTL模块的串口号

插拔usb查看串口是多少,如果没有其它的USB设备,一般的USB号为

ls /dev/tty*
  • 1

在这里插入图片描述

上位机收发代码
  • 需要注意的是,上位机在发送字符串之前,需要将字符串(str)转换字节(byte)格式,所以需要使用[发送数据].encode("utf-8")实现对发送字符串的转换。同时,在接收到下位机传来的信息时也需要使用[接收数据].decode("utf-8")实现接收的字节数据转换为字符串数据
import serial
#coding=utf-8
ser = serial.Serial('/dev/ttyUSB0', 9600,timeout=1);   

while 1:
    h = 'h'
    h = h.encode("utf-8")
    ser.write(h)
    text = ser.read(1)
    print(text)
    text = text.decode("utf-8")
    print("decode_text:" + text)
    if text == 's':
        print("serial open!!!")
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
实现效果

在这里插入图片描述

PYB端

下位机收发代码
from pyb import Timer, Pin, UART
import time 

uart = UART(4, 9600)

while 1:
    uart.write("s")
    print("send!")
    if uart.any():
	    print(uart.read(1))
	    if uart.read(1) == 'h':
	        print("read!")
    time.sleep(0.5)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/893197
推荐阅读
  

闽ICP备14008679号