Пока Петли - Время
Быстрый вопрос, который мне было трудно найти в документации.
Я пытаюсь сделать while loop
это будет длиться определенное время (например, 500 мс). Как быстро это может сделать один цикл? Каждая петля не будет выполнять большую задачу, но просто прочитайте, если интенсивность света датчика выше, чем 630 нм.
это могло бы работать, чтобы поместить каждую итерацию как 1 мс?
Я пишу в NXC, который очень похож на C, я думаю...
1 ответ
Что вам нужно сделать, это в основном проверить, меньше ли разница между текущим системным временем и системным временем в начале, чем желаемое значение (в данном случае 500 мс). Насколько быстро это может сделать один цикл, это полностью зависит от вашей реализации. Вы можете отслеживать время, затрачиваемое на каждый цикл, возможно, распечатайте его для проверки.
Как вы могли бы знать currentTick()
возвращает текущее системное время в миллисекундах. Итак, вот как должен выглядеть ваш код:
unsigned int start, current;
start = currentTick();
current = start;
while(cur < (start+500))
{
//Your task.
current = curTick();
printf("Time: %u",current);
}