While 循环 - 时间
While Loops - Time
我很难在文档中找到的快速问题。
我正在尝试做一个 while loop
,它会持续特定的时间(比如 500 毫秒)。它能多快完成一个循环?每次循环不会做很大的工作,只是读取传感器的光强是否高于630nm。
将每次迭代设置为 1 毫秒是否可行?
我正在用 NXC 编写,它与 C 非常相似,我猜...
你要做的基本上是检查当前系统时间和开始时的系统时间之间的差异是否小于你想要的值(在本例中为 500ms)。至于它可以多快地完成一个循环,这完全取决于您的实现。您可以跟踪每个循环所花费的时间,可能会将其打印出来以供验证。
您可能知道 currentTick()
returns 当前系统时间(以毫秒为单位)。所以你的代码应该是这样的:
unsigned int start, current;
start = currentTick();
current = start;
while(cur < (start+500))
{
//Your task.
current = curTick();
printf("Time: %u",current);
}
我很难在文档中找到的快速问题。
我正在尝试做一个 while loop
,它会持续特定的时间(比如 500 毫秒)。它能多快完成一个循环?每次循环不会做很大的工作,只是读取传感器的光强是否高于630nm。
将每次迭代设置为 1 毫秒是否可行?
我正在用 NXC 编写,它与 C 非常相似,我猜...
你要做的基本上是检查当前系统时间和开始时的系统时间之间的差异是否小于你想要的值(在本例中为 500ms)。至于它可以多快地完成一个循环,这完全取决于您的实现。您可以跟踪每个循环所花费的时间,可能会将其打印出来以供验证。
您可能知道 currentTick()
returns 当前系统时间(以毫秒为单位)。所以你的代码应该是这样的:
unsigned int start, current;
start = currentTick();
current = start;
while(cur < (start+500))
{
//Your task.
current = curTick();
printf("Time: %u",current);
}