作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在文档中很难找到的快速问题。
我正在尝试执行一个将持续特定时间(例如 500 毫秒)的 while 循环
。它能多快完成一个循环?每个循环不会做很大的任务,只是读取传感器的光强度是否高于 630nm。
将每次迭代设为 1ms 可以吗?
我正在用 NXC 编写,我猜它与 C 非常相似......
最佳答案
您要做的基本上是检查当前系统时间与启动时的系统时间之间的差异是否小于您想要的值(在本例中为 500 毫秒)。至于它完成一个循环的速度有多快,这完全取决于您的实现。您可以跟踪每个循环所花费的时间,也可以将其打印出来以供验证。
您可能知道currentTick()
返回当前系统时间(以毫秒为单位)。因此,您的代码应如下所示:
unsigned int start, current;
start = currentTick();
current = start;
while(cur < (start+500))
{
//Your task.
current = curTick();
printf("Time: %u",current);
}
关于c - While 循环 - 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32883909/
我是一名优秀的程序员,十分优秀!