我正在做一个涉及 Node 网站和使用 Feather M4 Express 微控制器和 CircuitPython 的 Adafruit 8x8 按钮矩阵的项目。我正在尝试通过 USB 整理网站和按钮网格之间的干净串行通信。
这是我在微控制器上的当前循环,它应该只是检查串行输入,如果存在则打印它。
while True:
# the trellis can only be read every 17 millisecons or so
trellis.sync()
if supervisor.runtime.serial_bytes_available:
data = input()
print(data)
time.sleep(0.02)
这适用于第一次迭代。问题是,在第一次input()
通话后,
supervisor.runtime.serial_bytes_available
没有被重置为 False。因此,在第二次迭代中,微控制器一直挂着,input()
直到我通过串行发送一些东西。每次后续迭代都会发生这种情况。
阅读输入后,如何确保supervisor.runtime.serial_bytes_available
将其设置回 False?