创客联盟网

标题: Arduino里面还有个闹钟——MsTimer2库的使用 [打印本页]

作者: CCFIVE    时间: 2013-9-4 18:24
标题: Arduino里面还有个闹钟——MsTimer2库的使用
(, 下载次数: 54)
其实arduino里面还有另外一个闹钟(定时器)就是定时器2,它也是有一个库可以直接操作的 (, 下载次数: 10)

它的用法其实跟定时器1TimerOne 差不多,大同小异,只是函数名称上面可能有些不同而已,因为当我们做一个比较复杂的制作时候,一个定时器往往不够用的,这时候这个库就可以派上用场了。


本身库里面自带例子:
[mw_shl_code=cpp,true]#include <MsTimer2.h>
void flash() {
  static boolean output = HIGH;  
  digitalWrite(13, output);
  output = !output;
}

void setup() {
  pinMode(13, OUTPUT);
  MsTimer2::set(500, flash);
  MsTimer2::start();
}

void loop() {
}[/mw_shl_code]

MsTimer2::set(500, flash);

这条语句是用来设置每500毫秒调用一次flash

MsTimer2::start();

这个语句使定时器2使能,也就是让定时器2开始工作

既然有开始那肯定有停止,是定时器2停止的函数也很简单
MsTimer2::stop();

另外我们还注意下,我们的中断函数不要太长,以为当我们中断函数里面如果语句太多,中断函数的语句还没执行完又进入一次中断,如此不断循环,单片机就是出错,天知道会发生什么可怕的事情,所以在中断函数中写上 delay(1000); 很明显是不行滴!所以中断函数中代码已经要高效和简洁!


作者: echo88    时间: 2013-12-16 23:33
感谢分享!学习一下。




欢迎光临 创客联盟网 (https://immaker.org/) Powered by Discuz! X3.3