我是 microbit 的初学者,我尝试从不同的教程/代码示例中复制一些代码。我只是想在计算机和 microbit 之间建立串行通信。我的计划是让 microbit 只回显它接收到的每一行,然后暂时将其发回。但是线是分裂的,我不确定是微位还是计算机在分裂。我尝试过两台不同的计算机,结果相同。
这是微比特代码:
from microbit import *
uart.init(baudrate=115200)
msg_str = ""
while True:
msg_bytes = uart.readline()
if (msg_bytes):
print(msg_bytes)
我的计算机代码,一个带有 pyserial 的 Python 程序:
import serial
import serial.tools.list_ports as list_ports
def find_microbit_comport():
ports = list(list_ports.comports())
for p in ports:
if (p.pid == 516) and (p.vid == 3368):
return str(p.device)
if __name__ == '__main__':
ser = serial.Serial()
ser.baudrate = 115200
ser.timeout = 1
ser.port = find_microbit_comport()
ser.open()
ser.write(b'testing')
text = ser.readline()
while text != b'':
print(text.decode('utf-8'))
text = ser.readline()
ser.close()
我遇到的问题是它打印出这个:
b'te'
b'sting'
我期待它用一个词打印 b'testing'。我可以编写代码来组合文本,但我可能会失去同步。