创客联盟网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

开思网在线3D打印服务
查看: 30915|回复: 1
打印 上一主题 下一主题

Arduino里面还有个闹钟——MsTimer2库的使用

[复制链接]
跳转到指定楼层
楼主
发表于 2013-9-4 18:24:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

马上注册(开思网用户可以直接登录),结交更多创客好友,享用更多功能,让你轻松玩转创客社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

其实Arduino里面还有另外一个闹钟(定时器)就是定时器2,它也是有一个库可以直接操作的 MsTimer2.rar (2.12 KB, 下载次数: 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); 很明显是不行滴!所以中断函数中代码已经要高效和简洁!

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持
2
发表于 2013-12-16 23:33:42 | 只看该作者

马上注册(开思网用户可以直接登录),结交更多创客好友,享用更多功能,让你轻松玩转创客社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

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

本版积分规则

QQ|手机版|创客联盟网  

GMT+8, 2024-4-25 20:13 , Processed in 0.015642 second(s), 12 queries , Gzip On, Redis On.

Powered by Discuz! X3.3

© 2002-2024 www.iCAx.org

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