使用Python / Micropython在计算机和ESP32之间通过串行通信时,如何获取字符串而不是单个字母

问题描述

我正在测试ESP32上的UART引脚。他们的目标是让它从计算机读取字符串"MyData\n",然后重复将其发送回计算机。计算机运行的是Python 3,ESP32运行的是micropython。我一次收到一封信,而不是一封 串。输出为:

b'M'
b'y'
b'D'
b'a'
b't'
b'a'
b'\n'
b'M'
b'y'
b'D'
b'a'
b't'
b'a'
b'\n'
b'M'
b'y'

计算机代码

import serial
from time import sleep
ser = serial.Serial('/dev/ttyUSB0')
while 1:
    data = ser.write("MyData\n")
    data_in = ser.read()
    if data_in:
        try:
           print(data_in)
        except:
            pass

    sleep(1)

ESP32代码

from machine import UART
from time import sleep
u2 = UART(2,baudrate=115200,rx=16,tx=17,timeout=100)
while 1:
    if u2.any():
        msg = u2.read()
        u2.write(msg)
    sleep(1)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)