1

ここにコードがあります

    import serial;
    import struct;
    import pyautogui;
    pyautogui.FAILSAFE = False;
    i=0;
    sig=[0.1];
    ser=serial.Serial('COM8',9600,);
    ser.flush();
    Lclick=0;
    while (1):
        sig[0]=(struct.unpack("<f",ser.read(4))[0]);
        #print ('\n');
        if (sig[0]>2.2) and Lclick==0:
            pyautogui.mouseDown();
            Lclick=1;
        elif (sig[0]<1.9 and Lclick==1):
            Lclick=0;
            pyautogui.mouseUp();
    ser.close();

COM8 Bluetooth シリアル ポートからフレックス センサーの電圧を読み取っています。このコードを実行すると、1 回のダウン クリックが行われ、その後、以下のエラーが表示されます。

Traceback (most recent call last):
  File "E:/sem4/embd/Project/Mclick.py", line 27, in <module>
    pyautogui.mouseUp();
  File "C:\Python34\lib\site-packages\pyautogui\__init__.py", line 315, in mouseUp
    platformModule._mouseUp(x, y, 'left')
  File "C:\Python34\lib\site-packages\pyautogui\_pyautogui_win.py", line 415, in _mouseUp
    _sendMouseEvent(MOUSEEVENTF_LEFTUP, x, y)
  File "C:\Python34\lib\site-packages\pyautogui\_pyautogui_win.py", line 480, in _sendMouseEvent
    raise ctypes.WinError()
OSError: [WinError 997] Overlapped I/O operation is in progress.

驚くべきことに、印刷状態がコメント解除されている場合、コードは正常に機能しています。マウスのクリックを制御できました。それがどのように行われているか、そして印刷ステートメントがコメントされているときにエラーが発生する理由がわかりません。誰かが私を助けることができますか?

4

0 に答える 0