极客工坊

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9460|回复: 3

(求助)这段程序怎样理解?

[复制链接]
发表于 2012-6-13 19:15:26 | 显示全部楼层 |阅读模式
  1. int STD_LOOP_TIME = 9;
  2. int lastLoopTime = STD_LOOP_TIME;
  3. int lastLoopUsefulTime = STD_LOOP_TIME;
  4. unsigned long loopStartTime = 0;

  5. void loop()  {

  6. // your code ...


  7. // *********************** loop timing control **************************
  8.   lastLoopUsefulTime = millis()-loopStartTime;
  9.   if(lastLoopUsefulTime<STD_LOOP_TIME)         delay(STD_LOOP_TIME-lastLoopUsefulTime);
  10.   lastLoopTime = millis() - loopStartTime;
  11.   loopStartTime = millis();
  12. }
复制代码
这段代码第一行里的“int STD_LOOP_TIME = 9;”怎样理解?它为什么会等于9?9这个数值是怎样定出来的?
谢谢
回复

使用道具 举报

发表于 2012-6-14 12:55:14 | 显示全部楼层
应该是程序启动后不够9毫秒就等够这个时间再执行下去。可能要等待某设备进入状态
回复 支持 反对

使用道具 举报

发表于 2012-6-14 13:10:03 | 显示全部楼层
这段代码应该为了实现更准确的delay  就说只delay (9)实际等待的时间会是9+执行之前代码的时间。
回复 支持 反对

使用道具 举报

发表于 2012-6-14 13:13:08 | 显示全部楼层
你和别人约定十五分钟后到某地,这个9应该和这个十五一样,不过你要把路上的时间计算一下再delay
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 需要先绑定手机号

Archiver|联系我们|极客工坊

GMT+8, 2024-5-6 03:55 , Processed in 0.037995 second(s), 18 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表