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