0

我正在使用 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()阻止系统的功能,但我找不到如何解除阻止。

4

0 回答 0