from machine import UART
import time
import ubinascii
# ==================== 配置区 ====================
UART_ID = 1
BAUDRATE = 115200
TX_PIN = 5
RX_PIN = 4
RAW_REPL_TIMEOUT_MS = 3000 # Raw REPL 握手与执行超时(ms)
# ================================================
uart = UART(UART_ID, baudrate=BAUDRATE, tx=TX_PIN, rx=RX_PIN)
def raw_read():
time.sleep(0.1)
bs=uart.read()
if bs is not None:
bsd=bs.decode()
if bsd[2:-3]:
return bsd[2:-3]
return False
def raw_start():
uart.write(b'\x03')
time.sleep(0.1)
uart.write(b'\x01')
time.sleep(0.1)
def raw_command(data):
uart.write(data)
uart.write(b'\x04')
return raw_read()
raw_start()
print(uart.read())
print(raw_command("import time"))
print(raw_command("m=time.time()"))
print(raw_command("print(m)"))
# 调用print 会有\r\n 且只有print才会返回信息 否则 b'OK\x04\x04>'
#所有 结尾\x04\x04 b'OK798\r\n\x04\x04>'
多行功能 【\n 只需要该符号实现换行】
code = b"""
import time
for i in range(3):
print(i)
time.sleep(0.5)
print('done')
""" + b'\x04'
uart.write(code)