real field test
This commit is contained in:
67
test.py
Normal file
67
test.py
Normal file
@ -0,0 +1,67 @@
|
||||
from machine import UART, Pin
|
||||
import time
|
||||
|
||||
CANDIDATES = [4, 12, 13, 14, 16, 17, 21, 22, 23, 25, 26, 27, 32, 33]
|
||||
|
||||
BAUDRATES = [921600]
|
||||
|
||||
HEADER = 0x55 # IMU WIT frame header
|
||||
|
||||
def test_uart(rx, tx, baud):
|
||||
try:
|
||||
uart = UART(
|
||||
2,
|
||||
baudrate=baud,
|
||||
rx=Pin(rx),
|
||||
tx=Pin(tx),
|
||||
timeout=100,
|
||||
rxbuf=1024
|
||||
)
|
||||
|
||||
time.sleep(0.1)
|
||||
|
||||
start = time.ticks_ms()
|
||||
samples = []
|
||||
|
||||
while time.ticks_diff(time.ticks_ms(), start) < 1000:
|
||||
if uart.any():
|
||||
data = uart.read()
|
||||
if data:
|
||||
samples.append(data)
|
||||
|
||||
uart.deinit()
|
||||
|
||||
# 合并所有数据
|
||||
if samples:
|
||||
merged = b''.join(samples)
|
||||
|
||||
print(f"\nRX={rx}, TX={tx}, BAUD={baud}")
|
||||
print("RAW HEX:", merged[:80]) # 前80字节
|
||||
print("HEX:", merged[:80].hex())
|
||||
|
||||
return merged
|
||||
else:
|
||||
return b""
|
||||
|
||||
except Exception as e:
|
||||
return b""
|
||||
|
||||
print("=== UART PIN SCAN START ===")
|
||||
|
||||
best = (0, None, None, None)
|
||||
|
||||
for rx in CANDIDATES:
|
||||
for tx in CANDIDATES:
|
||||
if rx == tx:
|
||||
continue
|
||||
|
||||
for baud in BAUDRATES:
|
||||
c, t = test_uart(rx, tx, baud)
|
||||
|
||||
print(f"RX={rx}, TX={tx}, BAUD={baud} -> 0x55={c}, bytes={t}")
|
||||
|
||||
if c > best[0]:
|
||||
best = (c, rx, tx, baud)
|
||||
|
||||
print("\n=== BEST MATCH ===")
|
||||
print(best)
|
||||
Reference in New Issue
Block a user