pythonにて、UART通信でセンサからデータを取得して、一定の値以内であれば、socket通信でデータを送信するプログラム内で、sleep関数がうまく機能していません。
一定時間、センサの値が10以上200以内のときに、0.1秒のsleepが機能せずにデータが連続で送信されます。
シリアル通信中のsleepに変わるような機能はあるのでしょうか?
ご教授ください。
python
1 while True: 2 counter = ser.in_waiting # count the number of bytes of the serial port 3 if counter > 8: 4 5 #現在時刻を取得 6 dt_now = datetime.datetime.now() 7 bytes_serial = ser.read(9) 8 ser.reset_input_buffer() 9 10 11 if bytes_serial[0] == 0x59 and bytes_serial[1] == 0x59: # this portion is for python3 12 13 value = bytes_serial[2] + bytes_serial[3]*256 14 15 #値が10以上200以内 16 if 10 < value and value < 120: 17 18 #データ送信 19 start = dt_now 20 rmessage = ""ON" + start.strftime('%Y-%m-%d %H:%M:%S.%f') 21 client.send(rmessage.encode('utf-8')) 22 23 time.sleep(0.1) 24 25 time.sleep(0.0095)