arduino时间计算方法?

int Atime = 0;
int Btime = 0;

void setup()
{
}
void loop(){
/**********事件一处理************
************************************/
Btime++;
if(Atime > 10)
{
读温度;
Atime = 0;
}
/**********事件二处理************
************************************/
Atime++;
if(Btime > 25)
{
显示温度;
Btime = 0;
}
delay(1)
}
事件一和事件二之间的时间差是多少?????
计算方法是什么???????

http://zhidao.baidu.com/link?url=oqNMcbYjPHTjUKEbozEIvpUCVrYMtNluk-WOStHkSb_ZnBzFJ7N0kTqEagXY5oQbUYZ3lCF9AtT23M42qFuEXq
去看看这个。
用到了Arduino 中的 millis()函数,这是个不断更新时间值的函数。

分别取不同的记录点,就可以得出不同记录点间的时间差。很方便。
但这个函数根本停不下来,哈哈。追问

如果我要显示五个数{10,2, 3,4,5},并且每三秒显示一个数字,如何做到呢?

追答

那就delay(3000)吧,呵呵

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-25
if(Atime > 10) 中的10就是时间,= 程序每10Ms 执行一次,1秒钟=1000MS/10ms=100次/秒(执行次数)如果你想要执行是次数快点或者慢点,可以修改这个数字,这个的时间值只是一个近视值,不包括你的程序执行时间,程序如果不是很复杂,基本或略其它时间。追问

程序每10Ms执行一次,是与下面的delay(1)有关么,如果delay(10),时间会变么?

追答

当然了。如果是delay(1),上面就设定10,delay(10)上面就设定1,还是10ms一次

第2个回答  2015-06-10
这个方法参考下:

unsigned long starttime;
unsigned long stoptime;
unsigned long looptime;

void loop()
{
starttime = millis();
//你的代码

stoptime = millis();

looptime = stoptime - starttime;
}
相似回答