我正在使用 Adafruit RP2040,并设置了 2 个旋转编码器和一个小型显示器。
当我启动程序时,我可以使用旋转编码器更改显示屏上的值,但是一旦我通过 PC 命令设置了值,两个旋转编码器就不再反应了。
我试图用电脑关闭实例,但仍然没有。我可以在关闭实例后再次重新连接 PC 并再次通过 PC 设置值,但在我重新启动整个 RP2040 之前,旋转编码器不再有任何反应。
有什么命令可以让 RP2040 再次收听编码器吗?
我使用supervisor.runtime
来检查输入:
if supervisor.runtime.serial_bytes_available: # 65536 / 0,000050354
cmd = input()
if cmd.replace('.','',1).isdigit() and cmd[0] in ['1','2']:
Vset = float(cmd)
if Vset < 100.:
print('not recognized command: \"' + cmd + '\"')
elif Vset < 200.: # set voltage for channel 1
V1 = Vset - 100.
changeV1 = True
else: # set voltage for channel 2
V2 = Vset - 200.
changeV2 = True
else:
if 'test' in cmd.lower():
print('PZT driver')
elif 'idn' in cmd.lower():
print(ID + ',' + SerialNumber + ',' + version)
elif 'now?' in cmd.lower():
print(f'{measure100V(analog_1):.2f};{measure100V(analog_3):.2f}')
elif 'set?' in cmd.lower():
print(f'{V1:.2f};{V2:.2f}')
else:
print('not recognized command: \"' + cmd + '\"')
我读了一些关于input()
阻止系统的功能,但我找不到如何解除阻止。