Я занимаюсь разработкой приложения на Python с использованием Python2.7.Это приложение использует библиотеку pyserial для чтения некоторых байтов данных из последовательного порта.Использование цикла while для чтения 1 байта данных в каждой итерации.В каждой итерации я должен измерять время выполнения между операторами, если оно меньше 10 мс, дождаться, пока оно достигнет 10 мс, прежде чем начинать следующую итерацию.здесь есть два вопроса:
- Измерение времени
Как лучше всего измерить время между операторами Python с точностью (допустимая разница 1 мс или 2 мс)миллисекунд.
Время задержки
Как использовать это измеренное время для задержки, чтобы дождаться, пока общее время не станет 10 мс (общее время = 10 мс = время выполнения кода + задержка)
Я пробовал библиотеку времени, но она не дает хорошего разрешения, когда в миллисекундах некоторое время она ничего не дает при небольшой продолжительности времени.например:
import time
while uart.is_open:
uart.read()
start = time.time()
#user code will go here
end = time.time()
execution_time=end - start
if execution_time< 10ms:
remaining_time = 10ms - execution_time
delay(remaining_time)